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 ed2201464664c2f923201414bd42b5998fbc96f9 Mon Sep 17 00:00:00 2001 From: dahlia Date: Tue, 23 Apr 2013 15:01:20 -0700 Subject: revert CSJ2K.dll to version in use prior to commit d4fa2c69ed2895dcab76e0df1b26252246883c07 --- bin/CSJ2K.dll | Bin 495616 -> 502784 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/CSJ2K.dll b/bin/CSJ2K.dll index 581e410..238291f 100755 Binary files a/bin/CSJ2K.dll and b/bin/CSJ2K.dll differ -- cgit v1.1 From e324f6f3f0f8d894190cd7a9733687ac4308b2c1 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Wed, 24 Apr 2013 08:03:45 -0700 Subject: BulletSim: update DLLs and SOs to they have no dependencies on newer glibc (2.14) since that is not yet in some Linux distributions. Add unmanaged API calls and code for creating single convex hull shapes. --- bin/lib32/BulletSim.dll | Bin 1008640 -> 1010176 bytes bin/lib32/libBulletSim.so | Bin 2093987 -> 2096572 bytes bin/lib64/BulletSim.dll | Bin 1140224 -> 1142272 bytes bin/lib64/libBulletSim.so | Bin 2258808 -> 2265980 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index 618d4bd..1e94d05 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 e3b40fb..d79896a 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 491ac22..68cfcc4 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 a8ad533..08c00af 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From 1593d795ea72bb87f18c8ed2d1bec87871974ec5 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Wed, 24 Apr 2013 15:01:11 -0700 Subject: BulletSim: version of libBulletSim.so for 32 bit systems that doesn't crash on startup. Doesn't yet solve the new glibcxx dependencies. --- bin/lib32/libBulletSim.so | Bin 2096572 -> 2096576 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index d79896a..6216a65 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ -- cgit v1.1 From 8d3250cee4d16113e955c42d3cce02b0024bea55 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 1 May 2013 19:15:05 +0100 Subject: Add information about creating a PID file for robust to the Robust.ini and Robust.HG.ini example files --- bin/Robust.HG.ini.example | 27 +++++++++++++++------------ bin/Robust.ini.example | 28 +++++++++++++++------------- 2 files changed, 30 insertions(+), 25 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 581c31d..d74f205 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -21,18 +21,21 @@ ; * [[@]/][:] ; * [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 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 = "/home/opensim/etc/Configs" + ; Place to create a PID file + ; If no path if specified then a PID file is not created. + ; PIDFile = "/tmp/my.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 = "/home/opensim/etc/Configs" [ServiceList] diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index b98132e..b7b2524 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -13,19 +13,21 @@ ; * [[@]/][:] ; * [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 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 = "/home/opensim/etc/Configs" + ; Place to create a PID file + ; If no path if specified then a PID file is not created. + ; PIDFile = "/tmp/my.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 = "/home/opensim/etc/Configs" [ServiceList] AssetServiceConnector = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector" -- cgit v1.1 From 4cb73192a78f0c8d15c2eb052c7c632bb678ce5f Mon Sep 17 00:00:00 2001 From: BlueWall Date: Wed, 1 May 2013 23:01:33 -0400 Subject: Make default config directory "." --- 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 d74f205..fee2a87 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -35,7 +35,7 @@ ; Modular configurations ; Set path to directory for modular ini files... ; The Robust.exe process must have R/W access to the location - ConfigDirectory = "/home/opensim/etc/Configs" + ConfigDirectory = "." [ServiceList] diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index b7b2524..2d5aa8c 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -27,7 +27,7 @@ ; Modular configurations ; Set path to directory for modular ini files... ; The Robust.exe process must have R/W access to the location - ConfigDirectory = "/home/opensim/etc/Configs" + ConfigDirectory = "." [ServiceList] AssetServiceConnector = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector" -- cgit v1.1 From e92c05ebbdc44084326c3dcfa0a2ca0958e4b5e6 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 7 May 2013 18:01:48 -0700 Subject: Added AvatarPickerSearch capability handler. --- bin/OpenSim.ini.example | 4 +++- bin/OpenSimDefaults.ini | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index ce2e600..5e486d4 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -507,8 +507,10 @@ ;; "" -- capability enabled and served by some other server ;; ; These are enabled by default to localhost. Change if you see fit. - Cap_GetTexture = "localhost" + Cap_GetTexture = "localhost" Cap_GetMesh = "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. Cap_WebFetchInventoryDescendents = "" diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 28c1db2..7666243 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -609,6 +609,10 @@ Cap_WebFetchInventoryDescendents = "" Cap_FetchInventoryDescendents2 = "localhost" Cap_FetchInventory2 = "localhost" + + ; Capability for searching for people + Cap_AvatarPickerSearch = "localhost" + [Chat] -- cgit v1.1 From 601aa9116348a88e8fe4d33f7dd7408ddc6fee28 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 7 May 2013 19:16:42 -0700 Subject: Delete "" entry for AvatarPicker cap. --- bin/OpenSimDefaults.ini | 1 - 1 file changed, 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 7666243..0e35c63 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -545,7 +545,6 @@ ;; in OpenSim.ini ;; Cap_AttachmentResources = "" - Cap_AvatarPickerSearch = "" Cap_ChatSessionRequest = "" Cap_CopyInventoryFromNotecard = "localhost" Cap_DispatchRegionInfo = "" -- cgit v1.1 From 33aaa40bee37ca4d8a3afa10fbbea7c1be3a1d58 Mon Sep 17 00:00:00 2001 From: Mic Bowman Date: Wed, 8 May 2013 13:13:51 -0700 Subject: Adds an event and a method so that handling of the CachedTexture packet can be pulled out of LLClientView and moved to AvatarFactory. The first pass at reusing textures (turned off by default) is included. When reusing textures, if the baked textures from a previous login are still in the asset service (which generally means that they are in the simulator's cache) then the avatar will not need to rebake. This is both a performance improvement (specifically that an avatars baked textures do not need to be sent to other users who have the old textures cached) and a resource improvement (don't have to deal with duplicate bakes in the asset service cache). --- bin/OpenSimDefaults.ini | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 0e35c63..81843b1 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -683,6 +683,9 @@ ; 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 = false [Attachments] ; Controls whether avatar attachments are enabled. -- cgit v1.1 From 182ea00cb30042d8ff7f6184f480d7c39e2be8a1 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Thu, 9 May 2013 10:46:37 -0400 Subject: Application support: Adding some viwer supported url settings for destination guide and avatar picker apps. URL for the destinations should be: "secondlife:///app/teleport/slurl" --- bin/Robust.HG.ini.example | 6 ++++++ bin/Robust.ini.example | 6 ++++++ 2 files changed, 12 insertions(+) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index fee2a87..bc2b4cf 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -325,6 +325,12 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; 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" + + ; For V3 avatar picker (( work in progress )) + ; AvatarPicker = "http://127.0.0.1/avatars" + ; If you run this login server behind a proxy, set this to true ; HasProxy = false diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 2d5aa8c..1d66b7f 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -288,6 +288,12 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; 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" + + ; For V3 avatar picker (( work in progress )) + ; AvatarPicker = "http://127.0.0.1/avatars" + ; If you run this login server behind a proxy, set this to true ; HasProxy = false -- cgit v1.1 From 12289c4fd1f06371b317453f69283f1de11a9781 Mon Sep 17 00:00:00 2001 From: Latif Khalifa Date: Thu, 16 May 2013 00:02:28 +0200 Subject: Removed obsolete libopenmetaverse file --- bin/OpenMetaverse.Http.XML | 57 ---------------------------------------------- 1 file changed, 57 deletions(-) delete mode 100644 bin/OpenMetaverse.Http.XML (limited to 'bin') diff --git a/bin/OpenMetaverse.Http.XML b/bin/OpenMetaverse.Http.XML deleted file mode 100644 index 23173ae..0000000 --- a/bin/OpenMetaverse.Http.XML +++ /dev/null @@ -1,57 +0,0 @@ - - - - OpenMetaverse.Http - - - - The number of milliseconds to wait before the connection times out - and an empty response is sent to the client. This value should be higher - than BATCH_WAIT_INTERVAL for the timeout to function properly - - - This interval defines the amount of time to wait, in milliseconds, - for new events to show up on the queue before sending a response to the - client and completing the HTTP request. The interval also specifies the - maximum time that can pass before the queue shuts down after Stop() or the - class destructor is called - - - Since multiple events can be batched together and sent in the same - response, this prevents the event queue thread from infinitely dequeueing - events and never sending a response if there is a constant stream of new - events - - - - Singleton logging class for the entire library - - - - log4net logging engine - - - - Singleton instance of this class - - - - - Delegate for handling incoming HTTP requests through a capability - - Client context - HTTP request - HTTP response - User-defined state object - - - = - - - Number of times we've received an unknown CAPS exception in series. - - - For exponential backoff on error. - - - -- cgit v1.1 From 71a5cc204146b33e291bae60a68b9913751d6c8c Mon Sep 17 00:00:00 2001 From: Latif Khalifa Date: Thu, 16 May 2013 00:07:55 +0200 Subject: Updated libopenmetaverse to a5ad7f200e9bd2e91604ba921d1db3768108686b --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 24576 -> 24576 bytes bin/OpenMetaverse.StructuredData.XML | 234 +- bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 102400 bytes bin/OpenMetaverse.XML | 34510 +++++++++++++------------- bin/OpenMetaverse.dll | Bin 1785856 -> 1785856 bytes bin/OpenMetaverseTypes.XML | 3596 +-- bin/OpenMetaverseTypes.dll | Bin 114688 -> 114688 bytes 7 files changed, 19170 insertions(+), 19170 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 30b9c7b..100916c 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 4df771a..bb16ed0 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 abd4cd5..457cbe1 100644 --- a/bin/OpenMetaverse.XML +++ b/bin/OpenMetaverse.XML @@ -24,6 +24,65 @@ + + + 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 @@ -97,65 +156,6 @@ 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) - - Start up the Voice service. @@ -261,6 +261,36 @@ + + + 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 @@ -311,36 +341,6 @@ The level of the audio, a number between -100 and 100 where 0 represents ‘normal’ speaking volume - - - 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. @@ -410,25728 +410,25728 @@ 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 + + + + - - 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 a string of characters encoded with specific formatting properties - + + - + + + + + + + - Base class for all Asset types + Status of the last application run. + Used for error reporting to the grid login service for statistical purposes. - - A byte array containing the raw asset data + + Application exited normally - - True if the asset it only stored on the server temporarily + + Application froze - - A unique ID + + Application detected error and exited abnormally - - - Construct a new Asset object - + + Other crash - - - Construct a new Asset object - - A unique specific to this asset - A byte array containing the raw asset data + + Application froze during logout - - - Regenerates the AssetData byte array from the properties - of the derived class. - + + Application crashed during logout - + - Decodes the AssetData, placing it in appropriate properties of the derived - class. + Login Request Parameters - True if the asset decoding succeeded, otherwise false - - The assets unique ID + + The URL of the Login Server - - - The "type" of asset, Notecard, Animation, etc - + + The number of milliseconds to wait before a login is considered + failed due to timeout - - A text string containing main text of the notecard + + The request method + login_to_simulator is currently the only supported method - - List of s embedded on the notecard + + The Agents First name - - Construct an Asset of type Notecard + + 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 + + + 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 + + - Construct an Asset object of type Notecard + Default constuctor, initializes sane default values - 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 + 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 - + - Decode the raw asset data including the Linden Text properties + Instantiates new LoginParams object and fills in the values - true if the AssetData was successfully decoded - - - Override the base classes AssetType + 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 - - The event subscribers, null of no subscribers - - - Raises the AttachedSound Event - A AttachedSoundEventArgs object containing - the data sent from the simulator + + 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 - - Raises the AttachedSoundGainChange Event - A AttachedSoundGainChangeEventArgs object containing - the data sent from the simulator + + + 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 - - Thread sync lock object + + + 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 SoundTrigger Event - A SoundTriggerEventArgs object containing + + Raises the LoginProgress Event + A LoginProgressEventArgs object containing the data sent from the simulator - + Thread sync lock object - - The event subscribers, null of no subscribers + + Seed CAPS URL returned from the login server - - Raises the PreloadSound Event - A PreloadSoundEventArgs object containing - the data sent from the simulator + + Maximum number of groups an agent can belong to, -1 for unlimited - - Thread sync lock object + + Server side baking service URL - + + A list of packets obtained during the login process which + networkmanager will log but not process + + - Construct a new instance of the SoundManager class, used for playing and receiving - sound assets + Generate sane default values for a login request - A reference to the current GridClient instance + Account first name + Account last name + Account password + Client application name (channel) + Client application name + version + A populated struct containing + sane defaults - + - Plays a sound in the current region at full volume from avatar position + Simplified login that takes the most common and required fields - UUID of the sound to be played + 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 - + - Plays a sound in the current region at full volume + 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 - UUID of the sound to be played. - position for the sound to be played at. Normally 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 - + - Plays a sound in the current region + Login that takes a struct of all the values that will be passed to + the login server - 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 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 - + - Plays a sound in the specified sim + Build a start location URI for passing to the Login function - 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 + 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 - + - Play a sound asset + LoginParams and the initial login XmlRpcRequest were made on a remote machine. + This method now initializes libomv with the results. - 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 + + + Handles response from XML-RPC login replies + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Handles response from XML-RPC login replies with already parsed LoginResponseData + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Handle response from LLSD login replies + + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Get current OS + + Either "Win" or "Linux" - - Raised when the simulator sends us data containing - sound + + + Get clients default Mac Address + + A string containing the first found Mac Address - - 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 PacketSent Event + A PacketSentEventArgs object containing + the data sent from the simulator - - Raised when the simulator sends us data containing - ... + + Thread sync lock object - - 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 ... - } - - + + The event subscribers, null of no subscribers - - - 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 LoggedOut Event + A LoggedOutEventArgs object containing + the data sent from the simulator - - Simulator where the event originated + + Thread sync lock object - - Get the sound asset id + + The event subscribers, null of no subscribers - - Get the ID of the owner + + Raises the SimConnecting Event + A SimConnectingEventArgs object containing + the data sent from the simulator - - Get the ID of the Object + + Thread sync lock object - - Get the volume level + + The event subscribers, null of no subscribers - - Get the + + Raises the SimConnected Event + A SimConnectedEventArgs object containing + the data sent from the simulator - - 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 of no subscribers - - Simulator where the event originated + + Raises the SimDisconnected Event + A SimDisconnectedEventArgs object containing + the data sent from the simulator - - Get the ID of the Object + + Thread sync lock object - - Get the volume level + + The event subscribers, null of no subscribers - - 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 Disconnected Event + A DisconnectedEventArgs object containing + the data sent from the simulator - - - 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 of no subscribers - - Get the sound asset id + + Raises the SimChanged Event + A SimChangedEventArgs object containing + the data sent from the simulator - - Get the ID of the owner + + Thread sync lock object - - Get the ID of the Object + + The event subscribers, null of no subscribers - - Get the ID of the objects parent + + Raises the EventQueueRunning Event + A EventQueueRunningEventArgs object containing + the data sent from the simulator - - Get the volume level + + Thread sync lock object - - Get the regionhandle + + All of the simulators we are currently connected to - - Get the source position + + Handlers for incoming capability events - - 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") - } - - + + Handlers for incoming packets - + + Incoming packets that are awaiting handling + + + Outgoing packets that are awaiting handling + + - Construct a new instance of the PreloadSoundEventArgs class + Default constructor - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object + Reference to the GridClient object - - Simulator where the event originated + + + 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 - - Get the sound asset id + + + 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 - - Get the ID of the owner + + + 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 - - Get the ID of the Object + + + 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 - + - Capabilities is the name of the bi-directional HTTP REST protocol - used to communicate non real-time transactions such as teleporting or - group messaging + 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 - - Reference to the simulator this system is connected to + + + Send a packet to the simulator the avatar is currently occupying + + Packet to send - + - Default constructor + Send a packet to a specified simulator - - + Packet to send + Simulator to send the packet to - + - Request the URI of a named capability + Connect to a simulator - Name of the capability to request - The URI of the requested capability, or String.Empty if - the capability does not exist + 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 - + - Process any incoming events, check to see if we have a message created for the event, + 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 - - Capabilities URI this system was initialized with + + + 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 + - - Whether the capabilities event queue is connected and - listening for incoming events + + + 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 + - + - Triggered when an event is received via the EventQueueGet - capability + Close a connection to the given simulator - Event name - Decoded event data - The simulator that generated the event + + - + - Manager class for our own avatar + 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 - - The event subscribers. null if no subcribers + + + 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 - - Raises the ChatFromSimulator event - A ChatEventArgs object containing the - data returned from the data server + + + 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 - - Thread sync lock 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 - - Raises the ScriptDialog event - A SctriptDialogEventArgs 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 ScriptQuestion event - A ScriptQuestionEventArgs 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 LoadURL event - A LoadUrlEventArgs object containing the - data returned from the data server + + Raised when the simulator sends us data containing + ... - - Thread sync lock object + + Called when a reply is received from the login server, the + login sequence will block until this event returns - - The event subscribers. null if no subcribers + + Current state of logging in - - Raises the MoneyBalance event - A BalanceEventArgs object containing the - data returned from the data server + + Upon login failure, contains a short string key for the + type of login error that occurred - - Thread sync lock object + + The raw XML-RPC reply from the login server, exactly as it + was received (minus the HTTP header) - - The event subscribers. null if no subcribers + + 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 - - Raises the MoneyBalanceReply event - A MoneyBalanceReplyEventArgs 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 + ... - - The event subscribers. null if no subcribers + + Raised when the simulator sends us data containing + ... - - Raises the IM event - A InstantMessageEventArgs 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 + ... - - The event subscribers. null if no subcribers + + Raised when the simulator sends us data containing + ... - - Raises the TeleportProgress event - A TeleportEventArgs 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 + ... - - The event subscribers. null if no subcribers + + Unique identifier associated with our connections to + simulators - - Raises the AgentDataReply event - A AgentDataReplyEventArgs object containing the - data returned from the data server + + The simulator that the logged in avatar is currently + occupying - - Thread sync lock object + + Shows whether the network layer is logged in to the + grid or not - - The event subscribers. null if no subcribers + + Number of packets in the incoming queue - - Raises the AnimationsChanged event - A AnimationsChangedEventArgs object containing the - data returned from the data server + + Number of packets in the outgoing queue - - Thread sync lock object + + + + + + + + + - - The event subscribers. null if no subcribers + + + Explains why a simulator or the grid disconnected from us + - - Raises the MeanCollision event - A MeanCollisionEventArgs object containing the - data returned from the data server + + The client requested the logout or simulator disconnect - - Thread sync lock object + + The server notified us that it is disconnecting - - The event subscribers. null if no subcribers + + Either a socket was closed or network traffic timed out - - Raises the RegionCrossed event - A RegionCrossedEventArgs object containing the - data returned from the data server + + The last active simulator shut down - - Thread sync lock object + + + Holds a simulator reference and a decoded packet, these structs are put in + the packet inbox for event handling + - - The event subscribers. null if no subcribers + + Reference to the simulator that this packet came from - - Raises the GroupChatJoined event - A GroupChatJoinedEventArgs object containing the - data returned from the data server + + Packet that needs to be processed - - Thread sync lock object + + + Holds a simulator reference and a serialized packet, these structs are put in + the packet outbox for sending + - - The event subscribers. null if no subcribers + + Reference to the simulator this packet is destined for - - Raises the AlertMessage event - A AlertMessageEventArgs object containing the - data returned from the data server + + Packet that needs to be sent - - Thread sync lock object + + Sequence number of the wrapped packet - - The event subscribers. null if no subcribers + + Number of times this packet has been resent - - Raises the ScriptControlChange event - A ScriptControlEventArgs object containing the - data returned from the data server + + Environment.TickCount when this packet was last sent over the wire - - Thread sync lock object + + Type of the packet - - The event subscribers. null if no subcribers + + + Registers, unregisters, and fires events generated by incoming packets + - - Raises the CameraConstraint event - A CameraConstraintEventArgs object containing the - data returned from the data server + + Reference to the GridClient object - - Thread sync lock object + + + Default constructor + + - - The event subscribers. null if no subcribers + + + 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 - - Raises the ScriptSensorReply event - A ScriptSensorReplyEventArgs object containing the - data returned from the data server + + + Unregister an event handler + + Packet type to unregister the handler for + Callback to be unregistered - - Thread sync lock object + + + Fire the events registered for this packet type + + Incoming packet type + Incoming packet + Simulator this packet was received from - - The event subscribers. null if no subcribers + + + Object that is passed to worker threads in the ThreadPool for + firing packet callbacks + - - Raises the AvatarSitResponse event - A AvatarSitResponseEventArgs object containing the - data returned from the data server + + Callback to fire for this packet - - Thread sync lock object + + Reference to the simulator that this packet came from - - The event subscribers. null if no subcribers + + The packet that needs to be processed - - Raises the ChatSessionMemberAdded event - A ChatSessionMemberAddedEventArgs object containing the - data returned from the data server + + + Registers, unregisters, and fires events generated by the Capabilities + event queue + - - Thread sync lock object + + Reference to the GridClient object - - The event subscribers. null if no subcribers + + + Default constructor + + Reference to the GridClient object - - Raises the ChatSessionMemberLeft event - A ChatSessionMemberLeftEventArgs object containing the - data returned from the data server + + + 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 - - Thread sync lock object + + + Unregister a previously registered capabilities handler + + Capability event name unregister the + handler for + Callback to unregister - - The event subscribers, null of no subscribers + + + Fire the events registered for this event type synchronously + + Capability name + Decoded event body + Reference to the simulator that + generated this event - - Raises the SetDisplayNameReply Event - A SetDisplayNameReplyEventArgs object containing - the data sent from the simulator + + + Fire the events registered for this event type asynchronously + + Capability name + Decoded event body + Reference to the simulator that + generated this event - - Thread sync lock object + + + Object that is passed to worker threads in the ThreadPool for + firing CAPS callbacks + - - The event subscribers. null if no subcribers + + Callback to fire for this packet - - Raises the MuteListUpdated event - A EventArgs object containing the - data returned from the data server + + Name of the CAPS event - - Thread sync lock object + + Strongly typed decoded data - - Reference to the GridClient instance + + Reference to the simulator that generated this event - - Used for movement and camera tracking + + + Represends individual HTTP Download request + - - 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 + + URI of the item to fetch - - Dictionary containing current Group Chat sessions and members + + Timout specified in milliseconds - - Dictionary containing mute list keyead on mute name and key + + Download progress callback - - Various abilities and preferences sent by the grid + + Download completed callback - + + Accept the following content type + + + How many times will this request be retried + + + Current fetch attempt + + + Default constructor + + + Constructor + + - Constructor, setup callbacks for packets related to our avatar + Manages async HTTP downloads with a limit on maximum + concurrent downloads - A reference to the Class - + + 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 + + - 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. + Rotation Keyframe count (used internally) - + - Send an Instant Message to another Avatar + Position Keyframe count (used internally) - The recipients - A containing the message to send - + - Send an Instant Message to an existing group chat or conference chat + Animation Priority - The recipients - A containing the message to send - IM session ID (to differentiate between IM windows) - + - 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) - IDs of sessions for a conference - + - Send an Instant Message + Expression set in the client. Null if [None] is selected - 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 + The time in seconds to start the animation - 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 end 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 + Loop 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. + Meta data. Ease in Seconds. - of Group chat session to leave - + - Reply to script dialog questions. + Meta data. Ease out 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 for the Hand Pose - of session to accept invite to - + - Start a friends conference + Number of joints defined in the animation - 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 + Contains an array of joints - 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 + Searialize an animation asset into it's joints/keyframes/meta 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 + - + - 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 + Variable length strings seem to be null terminated in the animation asset.. but.. + use with caution, home grown. + 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 + The animation asset byte array + The offset to start reading + a string - + - Sends a request to sit on the specified object + Read in a Joint from an animation asset byte array + Variable length Joint fields, yay! + Advances the index - of the object to sit on - Sit at offset + animation asset byte array + Byte Offset of the start of the joint + The Joint data serialized into the binBVHJoint structure - + - Follows a call to to actually sit on the 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 + - - Stands up from sitting on a prim or the ground - true of AgentUpdate was sent + + + 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 - + - Does a "ground sit" at the avatar's current position - + Serves as a hash function for a particular type. + + + A hash code for the current . + + 2 - - - Starts or stops flying + + + A Joint and it's associated meta data and keyframes - True to start flying, false to stop flying - - - Starts or stops crouching - - True to start crouching, false to stop crouching + + + 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 - - - Starts a jump (begin holding the jump key) - + + + Returns the hash code for this instance. + + + A 32-bit signed integer that is the hash code for this instance. + + 2 - + - Use the autopilot sim function to move the avatar to a new - position. Uses double precision to get precise movements + Name of the Joint. Matches the avatar_skeleton.xml in client distros - 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 + Joint Animation Override? Was the same as the Priority in testing.. - 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 + Array of Rotation Keyframes in order from earliest to latest - 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 + Array of Position Keyframes in order from earliest to latest + This seems to only be for the Pelvis? - an unsigned integer of the objects ID within the simulator - - + - Overload: Grab a simulated object + Custom application data that can be attached to a joint - 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 + A Joint Keyframe. This is either a position or a rotation. - of the object to drag - Drag target in region coordinates - + - Overload: Drag an object + Either a Vector3 position or a Vector3 Euler rotation - 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 + Poses set in the animation metadata for the hands. - 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 + + Information about agents display name - - - Touches an object - - an unsigned integer of the objects ID within the simulator - + + Agent UUID - - - Request the current L$ balance - + + Username - - - Give Money to destination Avatar - - UUID of the Target Avatar - Amount in L$ + + Display name - + + First name (legacy) + + + Last name (legacy) + + + Is display name default display name + + + Cache display name until + + + Last updated timestamp + + - Give Money to destination Avatar + Creates AgentDisplayName object from OSD - UUID of the Target Avatar - Amount in L$ - Description that will show up in the - recipients transaction history + Incoming OSD data + AgentDisplayName object - + - Give L$ to an object + Return object as OSD map - object to give money to - amount of L$ to give - name of object + OSD containing agent's display name data - + + Full name (legacy) + + - Give L$ to a group + Holds group information for Avatars such as those you might find in a profile - 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 + + true of Avatar accepts group notices - - - Pay texture/animation upload fee - + + Groups Key - - - Pay texture/animation upload fee - - description of the transaction + + Texture Key for groups insignia - - - 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 + + Name of the group - - - Plays a gesture - - Asset of the gesture + + Powers avatar has in the group - - - Mark gesture active - - Inventory of the gesture - Asset of the gesture + + Avatars Currently selected title - - - Mark gesture inactive - - Inventory of the gesture + + true of Avatar has chosen to list this in their profile - + - Send an AgentAnimation packet that toggles a single animation on + Contains an animation currently being played by an agent - 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 + + The ID of the animation asset - - - 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 + + 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 - - - Teleports agent to their stored home location - - true on successful teleport to home location + + - + - Teleport agent to a landmark + Holds group information on an individual profile pick - 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 + Retrieve friend status notifications, and retrieve avatar names and + profiles - 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 + + The event subscribers, null of no subscribers - - - 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 + + Raises the AvatarAnimation Event + An AvatarAnimationEventArgs object containing + the data sent from the simulator - - - 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 + + Thread sync lock object - - - Request teleport to a another simulator - - handle of region to teleport agent to - position in destination sim to teleport to + + The event subscribers, null of no subscribers - - - 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 + + Raises the AvatarAppearance Event + A AvatarAppearanceEventArgs object containing + the data sent from the simulator - - - Teleport agent to a landmark - - of the landmark to teleport agent to + + Thread sync lock object - - - Send a teleport lure to another avatar with default "Join me in ..." invitation message - - target avatars to lure + + The event subscribers, null of no subscribers - - - Send a teleport lure to another avatar with custom invitation message - - target avatars to lure - custom message to send with invitation + + Raises the UUIDNameReply Event + A UUIDNameReplyEventArgs object containing + the data sent from the simulator - - - 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 + + Thread sync lock object - - - Update agent profile - - struct containing updated - profile information + + The event subscribers, null of no subscribers - - - Update agents profile interests - - selection of interests from struct + + Raises the AvatarInterestsReply Event + A AvatarInterestsReplyEventArgs object containing + the data sent from the simulator - - - 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 + + Thread sync lock object - - - Request the list of muted objects and avatars for this agent - + + The event subscribers, null of no subscribers - - - Mute an object, resident, etc. - - Mute type - Mute UUID - Mute name + + Raises the AvatarPropertiesReply Event + A AvatarPropertiesReplyEventArgs object containing + the data sent from the simulator - - - Mute an object, resident, etc. - - Mute type - Mute UUID - Mute name - Mute flags + + Thread sync lock object - - - Unmute an object, resident, etc. - - Mute UUID - Mute name + + The event subscribers, null of no subscribers - - - Sets home location to agents current position - - will fire an AlertMessage () with - success or failure message + + Raises the AvatarGroupsReply Event + A AvatarGroupsReplyEventArgs object containing + the data sent from the simulator - - - Move an agent in to a simulator. This packet is the last packet - needed to complete the transition in to a new simulator - - Object + + Thread sync lock object - - - Reply to script permissions request - - Object - of the itemID requesting permissions - of the taskID requesting permissions - list of permissions to allow + + 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 + + - Respond to a group invitation by either accepting or denying it + Represents other avatars - 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 + - + + Tracks the specified avatar on your map + Avatar ID to track + + - Requests script detection of objects and avatars + Request a single avatar name - 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 avatar key to retrieve a name for - + - Create or update profile pick + Request a list of avatar names - 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 avatar keys to retrieve names for - + - Delete profile pick + Check if Display Names functionality is available - UUID of the pick to delete + True if Display name functionality is available - + - Create or update profile Classified + Request retrieval of display names (max 90 names per request) - 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 + List of UUIDs to lookup + Callback to report result of the operation - + - Create or update profile Classified + Start a request for Avatar Properties - 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 + Search for an avatar (first name, last name) - The classified ads ID + The name to search for + An ID to associate with this query - + - Fetches resource usage by agents attachmetns + Start a request for Avatar Picks - Called when the requested information is collected + UUID of the avatar - + - Initates request to set a new display name + Start a request for Avatar Classifieds - Previous display name - Desired new display name + UUID of the avatar - + - Tells the sim what UI language is used, and if it's ok to share that with scripts + Start a request for details of a specific profile pick - Two letter language code - Share language info with scripts + UUID of the avatar + UUID of the profile pick - + - Take an incoming ImprovedInstantMessage packet, auto-parse, and if - OnInstantMessage is defined call that with the appropriate arguments + 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 - - - Take an incoming Chat packet, auto-parse, and if OnChat is defined call - that with the appropriate arguments. - + + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - - - Used for parsing llDialogs - + + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - - - Used for parsing llRequestPermissions dialogs - + + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - - - Handles Script Control changes when Script with permissions releases or takes a control - + + Process an incoming packet and raise the appropriate events 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 + 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 - - - 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 + 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 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 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 - - - 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 the simulator sends us data containing + an agents animation playlist - - 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 the simulator sends us data containing + the appearance information for an agent - - Raised when a simulator sends agent specific information for our avatar. + + Raised when the simulator sends us data containing + agent names/id values - - Raised when our agents animation playlist changes + + Raised when the simulator sends us data containing + the interests listed in an agents profile - - Raised when an object or avatar forcefully collides with our agent + + Raised when the simulator sends us data containing + profile property information for an agent - - Raised when our agent crosses a region border into another region + + Raised when the simulator sends us data containing + the group membership an agent is a member of - - Raised when our agent succeeds or fails to join a group chat session + + Raised when the simulator sends us data containing + name/id pair - - 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 + the objects and effect when an agent is pointing at - - Raised when a script attempts to take or release specified controls for our agent + + Raised when the simulator sends us data containing + the objects and effect when an agent is looking at - - Raised when the simulator detects our agent is trying to view something - beyond its limits + + Raised when the simulator sends us data containing + an agents viewer effect information - - Raised when a script sensor reply is received from a simulator + + Raised when the simulator sends us data containing + the top picks from an agents profile - - Raised in response to a request + + Raised when the simulator sends us data containing + the Pick details - - Raised when an avatar enters a group chat session we are participating in + + Raised when the simulator sends us data containing + the classified ads an agent has placed - - Raised when an agent exits a group chat session we are participating in + + 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 - - 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 + + + Callback giving results when fetching display names + + If the request was successful + Array of display names + Array of UUIDs that could not be fetched - - A which specifies the angular speed, and axis about which an Avatar is rotating. + + 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); + } + } + } + + - - Position avatar client will goto when login to 'home' or during - teleport request to 'home' region. + + + Construct a new instance of the AvatarAnimationEventArgs class + + The ID of the agent + The list of animations to start - - LookAt point saved/restored with HomePosition + + Get the ID of the agent - - Avatar First Name (i.e. Philip) + + Get the list of animations to start - - Avatar Last Name (i.e. Linden) + + 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") + } + + - - Avatar Full Name (i.e. Philip Linden) + + + 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 - - Gets the health of the agent + + Get the Simulator this request is from of the agent - - Gets the current balance of the agent + + Get the ID of the agent - - Gets the local ID of the prim the agent is sitting on, - zero if the avatar is not currently sitting + + true if the agent is a trial account - - Gets the of the agents active group. + + Get the default agent texture - - Gets the Agents powers in the currently active group + + Get the agents appearance layer textures - - Current status message for teleporting + + Get the for the agent - - Current position of the agent as a relative offset from - the simulator, or the parent object if we are sitting on something + + Version of the appearance system used. + Value greater than 0 indicates that server side baking is used - - Current rotation of the agent as a relative rotation from - the simulator, or the parent object if we are sitting on something + + Version of the Current Outfit Folder the appearance is based on - - Current position of the agent in the simulator + + Appearance flags, introduced with server side baking, currently unused - - - A representing the agents current rotation - + + Represents the interests from the profile of an agent - - Returns the global grid position of the avatar + + Get the ID of the agent - - - Used to specify movement actions for your agent - + + The properties of an agent - - Empty flag + + Get the ID of the agent - - Move Forward (SL Keybinding: W/Up Arrow) + + Get the ID of the agent - - Move Backward (SL Keybinding: S/Down Arrow) + + Get the ID of the agent - - Move Left (SL Keybinding: Shift-(A/Left Arrow)) + + Get the ID of the avatar - - Move Right (SL Keybinding: Shift-(D/Right Arrow)) + + + Event args class for display name notification messages + - - Not Flying: Jump/Flying: Move Up (SL Keybinding: E) + + + A linkset asset, containing a parent primitive and zero or more children + - - Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) + + + Base class for all Asset types + - - Unused + + A byte array containing the raw asset data - - Unused + + True if the asset it only stored on the server temporarily - - Unused + + A unique ID - - Unused + + + Construct a new Asset object + - - ORed with AGENT_CONTROL_AT_* if the keyboard is being used + + + Construct a new Asset object + + A unique specific to this asset + A byte array containing the raw asset data - - ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used + + + Regenerates the AssetData byte array from the properties + of the derived class. + - - ORed with AGENT_CONTROL_UP_* if the keyboard is being used + + + Decodes the AssetData, placing it in appropriate properties of the derived + class. + + True if the asset decoding succeeded, otherwise false - - Fly + + The assets unique ID - - + + + The "type" of asset, Notecard, Animation, etc + - - Finish our current animation + + Initializes a new instance of an AssetPrim object - - Stand up from the ground or a prim seat + + + Initializes a new instance of an AssetPrim object + + A unique specific to this asset + A byte array containing the raw asset data - - 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 + + Override the base classes AssetType - - Legacy, used if a key was pressed for less than a certain amount of time + + + Only used internally for XML serialization/deserialization + - - Legacy, used if a key was pressed for less than a certain amount of time + + + The deserialized form of a single primitive in a linkset asset + - - Legacy, used if a key was pressed for less than a certain amount of time + + Describes tasks returned in LandStatReply - - Legacy, used if a key was pressed for less than a certain amount of time + + + Estate level administration and utilities + - - Legacy, used if a key was pressed for less than a certain amount of time + + Textures for each of the four terrain height levels - - + + Upper/lower texture boundaries for each corner of the sim - - + + + Constructor for EstateTools class + + - - Set when the avatar is idled or set to away. Note that the away animation is - activated separately from setting this flag + + 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 - - - 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 - + + Thread sync lock object - - Agent camera controls + + The event subscribers. null if no subcribers - - Currently only used for hiding your group title + + Raises the EstateUsersReply event + A EstateUsersReplyEventArgs object containing the + data returned from the data server - - Action state of the avatar, which can currently be - typing and editing + + 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 - - Timer for sending AgentUpdate packets + + The event subscribers. null if no subcribers - - Default constructor + + 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 + + - Send an AgentUpdate with the camera set at the current agent - position and pointing towards the heading specified + Requests estate information such as top scripts and colliders - Camera rotation in radians - Whether to send the AgentUpdate reliable - or not + + + + - + + 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 + + - Rotates the avatar body and camera toward a target position. - This will also anchor the camera position on the avatar + Set several estate specific configuration variables - Region coordinates to turn toward + 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 - + - Rotates the avatar body and camera toward a target position. - This will also anchor the camera position on the avatar + Request return of objects owned by specified avatar - Region coordinates to turn toward - whether to send update or not + 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 - + + + + + + - Send new AgentUpdate packet to update our current camera - position and rotation + Used for setting and retrieving various estate panel settings + EstateOwnerMessage Method field + List of parameters to include - + - Send new AgentUpdate packet to update our current camera - position and rotation + Kick an avatar from an estate - Whether to require server acknowledgement - of this packet + Key of Agent to remove - + - Send new AgentUpdate packet to update our current camera - position and rotation + 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 - Whether to require server acknowledgement - of this packet - Simulator to send the update to + Message to send all users in the estate - + - Builds an AgentUpdate packet entirely from parameters. This - will not touch the state of Self.Movement or - Self.Movement.Camera in any way + Send a message dialog to everyone in a simulator - - - - - - - - - - - + Message to send all users in the simulator - + - Sends update of Field of Vision vertical angle to the simulator + Send an avatar back to their home location - Angle in radians - - - Move agent positive along the X axis - - - Move agent negative along the X axis - - - Move agent positive along the Y axis + Key of avatar to send home - - Move agent negative along the Y axis + + + Begin the region restart process + - - Move agent positive along the Z axis + + + Cancels a region restart + - - Move agent negative along the Z axis + + 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 - - Causes simulator to make agent fly + + + Add estate manager + Key of Agent to Add + Add agent as manager to this estate and all others owned by the estate owner - - Stop movement + + + 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 - - Finish animation + + + Removes an agent from the estate Allowed list + Key of Agent to Remove + Removes agent as an allowed reisdent from All estates if true - - Stand up from a sit + + + + 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 - - Tells simulator to sit agent on ground + + + + Removes a group from the estate Allowed list + Key of Group to Remove + Removes Group as an allowed Group from All estates if true - - 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 + + Raised when the data server responds to a request. - - Nudge agent negative along the Y axis + + Raised when the data server responds to a request. - - Nudge agent positive along the Z axis + + Raised when the data server responds to a request. - - Nudge agent negative along the Z axis + + 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. - - Tell simulator to mark agent as away + + 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 - + - 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 + + No flags set - - - 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 - + + Only return targets scripted objects - - + + Only return targets objects if on others land - - The camera is a local frame of reference inside of - the larger grid space. This is where the math happens + + Returns target's scripted objects and objects on other parcels - - - Default constructor - + + 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 - + - Called once attachment resource usage information has been collected + The number of returned items in LandStatReply - Indicates if operation was successfull - Attachment resource usage information - + - Contains all mesh faces that belong to a prim + A Dictionary of Object UUIDs to tasks returned in LandStatReply - - List of primitive faces + + Raised on LandStatReply when the report type is for "top Scripts" - - - 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 + + Construct a new instance of the TopScriptsReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply - + - A set of textures that are layered on texture of each other and "baked" - in to a single texture, for avatar appearances + The number of scripts returned in LandStatReply - - Final baked texture - - - Component layers - - - Width of the final baked image and scratchpad + + + A Dictionary of Object UUIDs to tasks returned in LandStatReply + - - Height of the final baked image and scratchpad + + Returned, along with other info, upon a successful .RequestInfo() - - Bake type + + 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 - + - Default constructor + The identifier of the estate - Bake type - + - Adds layer for baking + The number of returned itmes - TexturaData struct that contains texture and its params - + - Converts avatar texture index (face) to Bake type + List of UUIDs of Banned Users - Face number (AvatarTextureIndex) - BakeType, layer to which this texture belongs to - + + 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 + + - Make sure images exist, resize source if needed to match the destination + The identifier of the estate - 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 + The number of returned items - 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 + List of UUIDs of Allowed Users - 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 + + Returned, along with other info, upon a successful .RequestInfo() - - Is this one of the 3 skin bakes + + Construct a new instance of the EstateGroupsReplyEventArgs class + The estate's identifier on the grid + The number of Groups + Allowed Groups UUIDs - + - Represents a Wearable Asset, Clothing, Hair, Skin, Etc + The identifier of the estate - - A string containing the name of the asset + + + The number of returned items + - - A string containing a short description of the asset + + + List of UUIDs of Allowed Groups + - - The Assets WearableType + + Returned, along with other info, upon a successful .RequestInfo() - - The For-Sale status of the object + + Construct a new instance of the EstateManagersReplyEventArgs class + The estate's identifier on the grid + The number of Managers + Managers UUIDs - - An Integer representing the purchase price of the asset + + + The identifier of the estate + - - The of the assets creator + + + The number of returned items + - - The of the assets current owner + + + List of UUIDs of the Estate's Managers + - - The of the assets prior owner + + Returned, along with other info, upon a successful .RequestInfo() - - The of the Group this asset is set to + + 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) - - True if the asset is owned by a + + + The Covenant + - - The Permissions mask of the asset + + + The timestamp + - - A Dictionary containing Key/Value pairs of the objects parameters + + + The Estate name + - - A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures + + + The Estate Owner's ID (can be a GroupID) + - - Initializes a new instance of an AssetWearable object + + Returned, along with other info, upon a successful .RequestInfo() - - Initializes a new instance of an AssetWearable object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + 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 + - + - Decode an assets byte encoded data to a string + The estate's name - true if the asset data was decoded successfully - + - Encode the assets string represantion into a format consumable by the asset server + The Estate Owner's ID (can be a GroupID) - - Information about agents display name + + + The identifier of the estate on the grid + - - Agent UUID + + - - Username + + + Manager class for our own avatar + - - Display name + + The event subscribers. null if no subcribers - - First name (legacy) + + Raises the ChatFromSimulator event + A ChatEventArgs object containing the + data returned from the data server - - Last name (legacy) + + Thread sync lock object - - Is display name default display name + + The event subscribers. null if no subcribers - - Cache display name until + + Raises the ScriptDialog event + A SctriptDialogEventArgs object containing the + data returned from the data server - - 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 + + Thread sync lock object - - Full name (legacy) + + The event subscribers. null if no subcribers - - - Holds group information for Avatars such as those you might find in a profile - + + Raises the ScriptQuestion event + A ScriptQuestionEventArgs object containing the + data returned from the data server - - true of Avatar accepts group notices + + Thread sync lock object - - Groups Key + + The event subscribers. null if no subcribers - - Texture Key for groups insignia + + Raises the LoadURL event + A LoadUrlEventArgs object containing the + data returned from the data server - - Name of the group + + Thread sync lock object - - Powers avatar has in the group + + The event subscribers. null if no subcribers - - Avatars Currently selected title + + Raises the MoneyBalance event + A BalanceEventArgs object containing the + data returned from the data server - - true of Avatar has chosen to list this in their profile + + Thread sync lock object - - - Contains an animation currently being played by an agent - + + The event subscribers. null if no subcribers - - The ID of the animation asset + + Raises the MoneyBalanceReply event + A MoneyBalanceReplyEventArgs object containing the + data returned from the data server - - 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 + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - - Holds group information on an individual profile pick - + + Raises the IM event + A InstantMessageEventArgs object containing the + data returned from the data server - - - Retrieve friend status notifications, and retrieve avatar names and - profiles - + + Thread sync lock object - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers - - Raises the AvatarAnimation Event - An AvatarAnimationEventArgs object containing - the data sent from the simulator + + Raises the TeleportProgress event + A TeleportEventArgs 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 AvatarAppearance Event - A AvatarAppearanceEventArgs object containing - the data sent from the simulator + + Raises the AgentDataReply event + A AgentDataReplyEventArgs 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 UUIDNameReply Event - A UUIDNameReplyEventArgs object containing - the data sent from the simulator + + Raises the AnimationsChanged event + A AnimationsChangedEventArgs 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 AvatarInterestsReply Event - A AvatarInterestsReplyEventArgs object containing - the data sent from the simulator + + Raises the MeanCollision event + A MeanCollisionEventArgs 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 AvatarPropertiesReply Event - A AvatarPropertiesReplyEventArgs object containing - the data sent from the simulator + + Raises the RegionCrossed event + A RegionCrossedEventArgs 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 AvatarGroupsReply Event - A AvatarGroupsReplyEventArgs object containing - the data sent from the simulator + + Raises the GroupChatJoined event + A GroupChatJoinedEventArgs 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 AvatarPickerReply Event - A AvatarPickerReplyEventArgs object containing - the data sent from the simulator + + Raises the AlertMessage event + A AlertMessageEventArgs 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 ViewerEffectPointAt Event - A ViewerEffectPointAtEventArgs object containing - the data sent from the simulator + + Raises the ScriptControlChange event + A ScriptControlEventArgs 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 ViewerEffectLookAt Event - A ViewerEffectLookAtEventArgs object containing - the data sent from the simulator + + Raises the CameraConstraint event + A CameraConstraintEventArgs 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 ViewerEffect Event - A ViewerEffectEventArgs object containing - the data sent from the simulator + + Raises the ScriptSensorReply event + A ScriptSensorReplyEventArgs 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 AvatarPicksReply Event - A AvatarPicksReplyEventArgs object containing - the data sent from the simulator + + 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 PickInfoReply Event - A PickInfoReplyEventArgs object containing - the data sent from the simulator + + 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 - - Raises the AvatarClassifiedReply Event - A AvatarClassifiedReplyEventArgs object containing - the data sent from the simulator + + 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 ClassifiedInfoReply Event - A ClassifiedInfoReplyEventArgs object containing + + Raises the SetDisplayNameReply Event + A SetDisplayNameReplyEventArgs object containing the data sent from the simulator - + Thread sync lock object - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers - - Raises the DisplayNameUpdate Event - A DisplayNameUpdateEventArgs object containing - the data sent from the simulator + + 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 + + + Dictionary containing mute list keyead on mute name and key + + + Various abilities and preferences sent by the grid + + - Represents other avatars + Constructor, setup callbacks for packets related to our avatar - + A reference to the Class - - Tracks the specified avatar on your map - Avatar ID to track + + + 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 a single avatar name + Request any instant messages sent while the client was offline to be resent. - The avatar key to retrieve a name for - + - Request a list of avatar names + Send an Instant Message to another Avatar - The avatar keys to retrieve names for + The recipients + A containing the message to send - + - Check if Display Names functionality is available + Send an Instant Message to an existing group chat or conference chat - True if Display name functionality is available + The recipients + A containing the message to send + IM session ID (to differentiate between IM windows) - + - Request retrieval of display names (max 90 names per request) + Send an Instant Message - List of UUIDs to lookup - Callback to report result of the operation + 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 - + - Start a request for Avatar Properties + 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 - + - Search for an avatar (first name, last name) + Send an Instant Message to a group - The name to search for - An ID to associate with this query + of the group to send message to + Text Message being sent. - + - Start a request for Avatar Picks + Send an Instant Message to a group the agent is a member of - UUID of the avatar + The name this IM will show up as being from + of the group to send message to + Text message being sent - + - Start a request for Avatar Classifieds + Send a request to join a group chat session - UUID of the avatar + of Group to leave - + - Start a request for details of a specific profile pick + Exit a group chat session. This will stop further Group chat messages + from being sent until session is rejoined. - UUID of the avatar - UUID of the profile pick + of Group chat session to leave - + - Start a request for details of a specific profile classified + Reply to script dialog questions. - UUID of the avatar - UUID of the profile classified + 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 + + of session to accept invite to - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + 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 + - + - EQ Message fired when someone nearby changes their display name + Create a particle swirl around a target position using a packet - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the 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 - + - 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. + Sends a request to sit on the specified object - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet + 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 - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Does a "ground sit" at the avatar's current position + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Starts or stops flying + + True to start flying, false to stop flying - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Starts or stops crouching + + True to start crouching, false to stop crouching - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Starts a jump (begin holding the jump key) + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + 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 - - Raised when the simulator sends us data containing - an agents animation playlist + + + 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 - - Raised when the simulator sends us data containing - the appearance information for an agent + + + 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 - - Raised when the simulator sends us data containing - agent names/id values + + 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 - - Raised when the simulator sends us data containing - the interests listed in an agents profile + + + Grabs an object + + an unsigned integer of the objects ID within the simulator + - - Raised when the simulator sends us data containing - profile property information for an agent + + + 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 - - Raised when the simulator sends us data containing - the group membership an agent is a member of + + + Drag an object + + of the object to drag + Drag target in region coordinates - - Raised when the simulator sends us data containing - name/id pair + + + 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 - - Raised when the simulator sends us data containing - the objects and effect when an agent is pointing at + + + Release a grabbed object + + The Objects Simulator Local ID + + + - - Raised when the simulator sends us data containing - the objects and effect when an agent is looking at + + + 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 - - Raised when the simulator sends us data containing - an agents viewer effect information + + + Touches an object + + an unsigned integer of the objects ID within the simulator + - - Raised when the simulator sends us data containing - the top picks from an agents profile + + + Request the current L$ balance + - - Raised when the simulator sends us data containing - the Pick details + + + Give Money to destination Avatar + + UUID of the Target Avatar + Amount in L$ - - Raised when the simulator sends us data containing - the classified ads an agent has placed + + + Give Money to destination Avatar + + UUID of the Target Avatar + Amount in L$ + Description that will show up in the + recipients transaction history - - Raised when the simulator sends us data containing - the details of a classified ad + + + Give L$ to an object + + object to give money to + amount of L$ to give + name of object - - Raised when the simulator sends us data containing - the details of display name change + + + Give L$ to a group + + group to give money to + amount of L$ to give - + - Callback giving results when fetching display names + Give L$ to a group - If the request was successful - Array of display names - Array of UUIDs that could not be fetched + group to give money to + amount of L$ to give + description of transaction - - 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); - } - } - } - - + + + Pay texture/animation upload fee + - + - Construct a new instance of the AvatarAnimationEventArgs class + Pay texture/animation upload fee - The ID of the agent - The list of animations to start + description of the transaction - - Get the ID of the agent + + + 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 - - Get the list of animations to start + + + Plays a gesture + + Asset of the gesture - - 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") - } - - + + + Mark gesture active + + Inventory of the gesture + Asset of the gesture - + - Construct a new instance of the AvatarAppearanceEventArgs class + Mark gesture inactive - 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 + Inventory of the gesture - - Get the Simulator this request is from of the agent + + + 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 - - Get the ID of the agent + + + 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 - - true if the agent is a trial account + + + 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 - - Get the default agent texture + + + Teleports agent to their stored home location + + true on successful teleport to home location - - Get the agents appearance layer textures + + + Teleport agent to a landmark + + of the landmark to teleport agent to + true on success, false on failure - - Get the for the agent + + + 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 - - Version of the appearance system used. - Value greater than 0 indicates that server side baking is used + + + 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 - - Version of the Current Outfit Folder the appearance is based on + + + 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 - - Appearance flags, introduced with server side baking, currently unused + + + 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 - - Represents the interests from the profile of an agent + + + Request teleport to a another simulator + + handle of region to teleport agent to + position in destination sim to teleport to - - Get the ID of the agent + + + 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 - - The properties of an agent + + + Teleport agent to a landmark + + of the landmark to teleport agent to - - Get the ID of the agent + + + Send a teleport lure to another avatar with default "Join me in ..." invitation message + + target avatars to lure - - Get the ID of the agent + + + Send a teleport lure to another avatar with custom invitation message + + target avatars to lure + custom message to send with invitation - - Get the ID of the agent + + + 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 - - Get the ID of the avatar + + + Update agent profile + + struct containing updated + profile information - + - Event args class for display name notification messages + Update agents profile interests + selection of interests from struct - + - Index of TextureEntry slots for avatar appearances + 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 - + - Bake layers for avatar appearance + Request the list of muted objects and avatars for this agent - + - Appearance Flags, introdued with server side baking, currently unused + Mute an object, resident, etc. + Mute type + Mute UUID + Mute name - - Maximum number of concurrent downloads for wearable assets and textures + + + Mute an object, resident, etc. + + Mute type + Mute UUID + Mute name + Mute flags - - 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 + Unmute an object, resident, etc. + Mute UUID + Mute name - + - Main appearance thread + Sets home location to agents current position + will fire an AlertMessage () with + success or failure message - + - Is server baking complete. It needs doing only once + Move an agent in to a simulator. This packet is the last packet + needed to complete the transition in to a new simulator + Object - + - Default constructor + Reply to script permissions request - A reference to our agent + Object + of the itemID requesting permissions + of the taskID requesting permissions + list of permissions to allow - + - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread + 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 - + - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread + Requests script detection of objects and avatars - Unused parameter + 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 - + - Starts the appearance setting thread + 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 - + - Starts the appearance setting thread + Delete profile pick - True to force rebaking, otherwise false + UUID of the pick to delete - + - Check if current region supports server side baking + Create or update profile Classified - True if server side baking support is detected + 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 - + - Ask the server what textures our agent is currently wearing + 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 - + - Build hashes out of the texture assetIDs for each baking layer to - ask the simulator whether it has cached copies of each baked texture + Delete a classified ad + The classified ads ID - + - Returns the AssetID of the asset that is currently being worn in a - given WearableType slot + Fetches resource usage by agents attachmetns - 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 + Called when the requested information is collected - + - Add a wearable to the current outfit and set appearance + Initates request to set a new display name - Wearable to be added to the outfit + Previous display name + Desired new display name - + - Add a wearable to the current outfit and set appearance + Tells the sim what UI language is used, and if it's ok to share that with scripts - Wearable to be added to the outfit - Should existing item on the same point or of the same type be replaced + Two letter language code + Share language info with scripts - + - Add a list of wearables to the current outfit and set appearance + Take an incoming ImprovedInstantMessage packet, auto-parse, and if + OnInstantMessage is defined call that with the appropriate arguments - 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 + The sender + The EventArgs object containing the packet data - + - Add a list of wearables to the current outfit and set appearance + Take an incoming Chat packet, auto-parse, and if OnChat is defined call + that with the appropriate arguments. - 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 + The sender + The EventArgs object containing the packet data - + - Remove a wearable from the current outfit and set appearance + Used for parsing llDialogs - Wearable to be removed from the outfit + The sender + The EventArgs object containing the packet data - + - Removes a list of wearables from the current outfit and set appearance + Used for parsing llRequestPermissions dialogs - List of wearable inventory items to - be removed from the outfit + The sender + The EventArgs object containing the packet data - + - Replace the current outfit with a list of wearables and set appearance + Handles Script Control changes when Script with permissions releases or takes a control - List of wearable inventory items that - define a new outfit + The sender + The EventArgs object containing the packet data - + - Replace the current outfit with a list of wearables and set appearance + Used for parsing llLoadURL Dialogs - 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 + The sender + The EventArgs object containing the packet data - + - Checks if an inventory item is currently being worn + Update client's Position, LookAt and region handle from incoming packet - 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 sender + The EventArgs object containing the packet data + This occurs when after an avatar moves into a new sim - - - 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 + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - 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 + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Adds a list of attachments to our agent - - A List containing the attachments to add - If true, tells simulator to remove existing attachment - first + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Adds a list of attachments to our agent + EQ Message fired with the result of SetDisplayName request - 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 + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - + - Attach an item to our agent at a specific attach point + Process TeleportFailed message sent via EventQueue, informs agent its last teleport has failed and why. - A to attach - the on the avatar - to attach the item to + The Message Key + An IMessage object Deserialized from the recieved message event + The simulator originating the event message - + - Attach an item to our agent at a specific attach point + Process TeleportFinish from Event Queue and pass it onto our TeleportHandler - 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 + The message system key for this event + IMessage object containing decoded data from OSD + The simulator originating the event message - - - 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 + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - 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 + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Detach an item from our agent using an object - - An object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Detach an item from our agent + 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 inventory itemID of the item to detach + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - - - Inform the sim which wearables are part of our current outfit - + + 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 - + - Replaces the Wearables collection with a list of new wearable items + Group Chat event handler - Wearable items to replace the Wearables collection with + The capability Key + IMessage object containing decoded data from OSD + - + - Calculates base color/tint for a specific wearable - based on its params + Response from request to join a group chat - All the color info gathered from wearable's VisualParams - passed as list of ColorParamInfo tuples - Base color/tint for the wearable + + IMessage object containing decoded data from OSD + - + - Blocking method to populate the Wearables dictionary + Someone joined or left group chat - True on success, otherwise false + + IMessage object containing decoded data from OSD + - + - Blocking method to populate the Textures array with cached bakes + Handle a group chat Invitation - True on success, otherwise false + Caps Key + IMessage object containing decoded data from OSD + Originating Simulator - + - Populates textures and visual params from a decoded asset + Moderate a chat session - Wearable to decode + 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 - - - Blocking method to download and parse currently worn wearable assets - - True on success, otherwise false + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - 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 + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Helper method to lookup the TextureID for a single layer and add it - to a list if it is not already present - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - 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 + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Blocking method to create and upload a baked texture for a single - bake layer - - Layer to bake - True on success, otherwise false + + Raised when a scripted object or agent within range sends a public message - - - 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 + + Raised when a scripted object sends a dialog box containing possible + options an agent can respond to - - - 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 + + Raised when an object requests a change in the permissions an agent has permitted - - - Initate server baking process - - True if the server baking was successful + + Raised when a script requests an agent open the specified URL - - - Get the latest version of COF - - Current Outfit Folder (or null if getting the data failed) + + Raised when an agents currency balance is updated - - - Create an AgentSetAppearance packet from Wearables data and the - Textures array and send it - + + Raised when a transaction occurs involving currency such as a land purchase - - - Converts a WearableType to a bodypart or clothing WearableType - - A WearableType - AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown + + 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 - - - Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex - - A BakeType - The AvatarTextureIndex slot that holds the given BakeType + + 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 - - - Gives the layer number that is used for morph mask - - >A BakeType - Which layer number as defined in BakeTypeToTextures is used for morph mask + + Raised when a simulator sends agent specific information for our avatar. - - - 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 + + Raised when our agents animation playlist changes - - Triggered when an AgentWearablesUpdate packet is received, - telling us what our avatar is currently wearing - request. + + Raised when an object or avatar forcefully collides with our agent - - Raised when an AgentCachedTextureResponse packet is - received, giving a list of cached bakes that were found on the - simulator - request. + + Raised when our agent crosses a region border into another region - - - Raised when appearance data is sent to the simulator, also indicates - the main appearance thread is finished. - - request. + + Raised when our agent succeeds or fails to join a group chat session - - - Triggered when the simulator requests the agent rebake its appearance. - - + + 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 - - - Returns true if AppearanceManager is busy and trying to set or change appearance will fail - + + Raised when a script attempts to take or release specified controls for our agent - - - Contains information about a wearable inventory item - + + Raised when the simulator detects our agent is trying to view something + beyond its limits - - Inventory ItemID of the wearable + + Raised when a script sensor reply is received from a simulator - - AssetID of the wearable asset + + Raised in response to a request - - WearableType of the wearable + + Raised when an avatar enters a group chat session we are participating in - - AssetType of the wearable + + Raised when an agent exits a group chat session we are participating in - - Asset data for the wearable + + Raised when the simulator sends us data containing + the details of display name change - - - Data collected from visual params for each wearable - needed for the calculation of the color - + + Raised when a scripted object or agent within range sends a public message - - - 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 - + + Your (client) avatars + "client", "agent", and "avatar" all represent the same thing - - A texture AssetID + + Temporary assigned to this session, used for + verifying our identity in packets - - Asset data for the texture + + Shared secret that is never sent over the wire - - Collection of alpha masks that needs applying + + Your (client) avatar ID, local to the current region/sim - - Tint that should be applied to the texture + + Where the avatar started at login. Can be "last", "home" + or a login - - Where on avatar does this texture belong + + The access level of this agent, usually M or PG - - Contains the Event data returned from the data server from an AgentWearablesRequest + + The CollisionPlane of Agent - - Construct a new instance of the AgentWearablesReplyEventArgs class + + An representing the velocity of our agent - - Contains the Event data returned from the data server from an AgentCachedTextureResponse + + An representing the acceleration of our agent - - Construct a new instance of the AgentCachedBakesReplyEventArgs class + + A which specifies the angular speed, and axis about which an Avatar is rotating. - - Contains the Event data returned from an AppearanceSetRequest + + Position avatar client will goto when login to 'home' or during + teleport request to 'home' region. - - - Triggered when appearance data is sent to the sim and - the main appearance thread is done. - Indicates whether appearance setting was successful + + LookAt point saved/restored with HomePosition - - Indicates whether appearance setting was successful + + Avatar First Name (i.e. Philip) - - Contains the Event data returned from the data server from an RebakeAvatarTextures + + Avatar Last Name (i.e. Linden) - - - Triggered when the simulator sends a request for this agent to rebake - its appearance - - The ID of the Texture Layer to bake + + Avatar Full Name (i.e. Philip Linden) - - The ID of the Texture Layer to bake + + Gets the health of the agent - - - Image width - + + Gets the current balance of the agent - - - Image height - + + Gets the local ID of the prim the agent is sitting on, + zero if the avatar is not currently sitting - - - Image channel flags - + + Gets the of the agents active group. - - - Red channel data - + + Gets the Agents powers in the currently active group - - - Green channel data - + + Current status message for teleporting - - - Blue channel data - + + Current position of the agent as a relative offset from + the simulator, or the parent object if we are sitting on something - - - Alpha channel data - + + Current rotation of the agent as a relative rotation from + the simulator, or the parent object if we are sitting on something - - - Bump channel data - + + Current position of the agent in the simulator - + - Create a new blank image + A representing the agents current rotation - width - height - channel flags - - - - - + + Returns the global grid position of the avatar - + - Convert the channels in the image. Channels are created or destroyed as required. + Used to specify movement actions for your agent - new channel flags - - - Resize or stretch the image using nearest neighbor (ugly) resampling - - new width - new height + + Empty flag - - - 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 + + Move Forward (SL Keybinding: W/Up Arrow) - - - Represents an Animation - + + Move Backward (SL Keybinding: S/Down Arrow) - - Default Constructor + + Move Left (SL Keybinding: Shift-(A/Left Arrow)) - - - Construct an Asset object of type Animation - - Asset type - A unique specific to this asset - A byte array containing the raw asset data + + Move Right (SL Keybinding: Shift-(D/Right Arrow)) - - Override the base classes AssetType + + Not Flying: Jump/Flying: Move Up (SL Keybinding: E) - - - - + + Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) - - + + Unused - - + + Unused - - + + Unused - - - Thrown when a packet could not be successfully deserialized - + + Unused - - - Default constructor - + + ORed with AGENT_CONTROL_AT_* if the keyboard is being used - - - Constructor that takes an additional error message - - An error message to attach to this exception + + ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used - - - 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 - + + ORed with AGENT_CONTROL_UP_* if the keyboard is being used - - - 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 + + Fly - - - - - - - - + + - - - - - - - + + Finish our current animation - - - A block of data in a packet. Packets are composed of one or more blocks, - each block containing one or more fields - + + Stand up from the ground or a prim seat - - - 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 + + Sit on the ground at our current location - - - 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 + + Whether mouselook is currently enabled - - Current length of the data in this packet + + Legacy, used if a key was pressed for less than a certain amount of time - - A generic value, not an actual packet type + + Legacy, used if a key was pressed for less than a certain amount of time - - - 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 + + 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 - - + + + 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 + - - + + - - + + - - + + - - + + - - + + + Called once attachment resource usage information has been collected + + Indicates if operation was successfull + Attachment resource usage information - - + + + 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 - - + + + + - - + + - - + + - - + + - - + + + 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 - - + + + 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 - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - 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. + + - - - 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 + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - 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 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 + + - - 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 - - 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" + + - - - Get clients default Mac Address - - 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 + + - - 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 + + + Add a custom decoder callback + + The key of the field to decode + The custom decode handler - - Raises the SimDisconnected Event - A SimDisconnectedEventArgs object containing - the data sent from the simulator + + + 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 + + + + 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 of no subscribers + + The event subscribers. null if no subcribers - - Raises the Disconnected Event - A DisconnectedEventArgs object containing - the data sent from the simulator + + Raises the DirEventsReply event + An DirEventsReplyEventArgs 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 SimChanged Event - A SimChangedEventArgs object containing - the data sent from the simulator + + Raises the PlacesReply event + A PlacesReplyEventArgs 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 EventQueueRunning Event - A EventQueueRunningEventArgs object containing - the data sent from the simulator + + Raises the DirPlacesReply event + A DirPlacesReplyEventArgs object containing the + data returned from the data server - + Thread sync lock object - - All of the simulators we are currently connected to + + The event subscribers. null if no subcribers - - Handlers for incoming capability events + + Raises the DirClassifiedsReply event + A DirClassifiedsReplyEventArgs object containing the + data returned from the data server - - Handlers for incoming packets + + Thread sync lock object - - Incoming packets that are awaiting handling + + The event subscribers. null if no subcribers - - Outgoing packets that are awaiting handling + + Raises the DirGroupsReply event + A DirGroupsReplyEventArgs object containing the + data returned from the data server - - - Default constructor - - Reference to the GridClient object + + Thread sync lock 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 + + 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 - 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 + + Raises the DirPeopleReply event + A DirPeopleReplyEventArgs object containing the + data returned from the data server - - - 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 + + Thread sync lock object - - - 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 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 + + - 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 + Constructs a new instance of the DirectoryManager class - Name of the CAPS event this callback is - registered with - Callback to stop firing events for + An instance of GridClient - + - Send a packet to the simulator the avatar is currently occupying + 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 - Packet to send + A string containing a list of keywords to search for + A UUID to correlate the results when the event is raised - + - Send a packet to a specified simulator + 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 - Packet to send - Simulator to send the packet to + 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 + - + - Connect to a simulator + Starts search for places (Overloaded) + + The event is raised when a response is received from the 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 + 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 - + - Connect to a simulator + 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 - 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 + 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 + - + - 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 + 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. - + - 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 + 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. - + - Close a connection to the given simulator + 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); + - + - 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 + Search for Groups - Type of shutdown + The name or portion of the name of the group you wish to search for + Start from the match number + - + - 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 + Search for Groups - Type of shutdown - Shutdown message + The name or portion of the name of the group you wish to search for + Start from the match number + Search flags + - + - Searches through the list of currently connected simulators to find - one attached to the given IPEndPoint + Search the People directory for other avatars - IPEndPoint of the Simulator to search for - A Simulator reference on success, otherwise null + The name or portion of the name of the avatar you wish to search for + + - + - Fire an event when an event queue connects for capabilities + Search Places for parcels of land you personally own - Simulator the event queue is attached to - + + + 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 - - 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 + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Current state of logging in + + Raised when the data server responds to a request. - - Upon login failure, contains a short string key for the - type of login error that occurred + + Raised when the data server 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 data server 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 sends us data containing - ... + + Raised when the data server responds to a request. - - Raised when the simulator sends us data containing - ... + + Raised when the data server responds to a request. - - Raised when the simulator sends us data containing - ... + + Raised when the data server responds to a request. - - Raised when the simulator sends us data containing - ... + + Raised when the data server responds to a request. - - Raised when the simulator sends us data containing - ... + + Raised when the data server responds to a request. - - Raised when the simulator sends us data containing - ... + + Classified Ad categories - - Raised when the simulator sends us data containing - ... + + Classified is listed in the Any category - - Raised when the simulator sends us data containing - ... + + Classified is shopping related - - Unique identifier associated with our connections to - simulators + + Classified is - - 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 + + - - - - - - - - - + + - - - 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 + + Event Categories - - 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 + + - + - Return a decoded capabilities message as a strongly typed 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 - 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 - - - Capability to load TGAs to Bitmap - + + Query the People database - - - 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 + + Query the Groups database - - - InventoryManager requests inventory information on login, - GridClient initializes an Inventory store for main inventory. - + + Query the Events database - - - InventoryManager requests library information on login, - GridClient initializes an Inventory store for the library. - + + Query the land holdings database for land owned by the currently connected agent - - Number of milliseconds between sending pings to each sim + + - - Number of milliseconds between sending camera updates + + Query the land holdings database for land which is owned by a Group - - Number of milliseconds between updating the current - positions of moving, non-accelerating and non-colliding objects + + Specifies the query should pre sort the results based upon traffic + when searching the Places database - - 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 + + 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 - - Login server to connect to + + 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 - - IP Address the client will bind to + + 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 - - Use XML-RPC Login or LLSD Login, default is XML-RPC Login + + 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 - - - Use Caps for fetching inventory where available - + + 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 - - Number of milliseconds before an asset transfer will time - out + + 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 - - Number of milliseconds before a teleport attempt will time - out + + 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 - - 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 + + Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases - - Milliseconds before a packet is assumed lost and resent + + Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases - - Milliseconds without receiving a packet before the - connection to a simulator is assumed lost + + Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases - - 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 + + + Land types to search dataserver for + - - Maximum number of queued ACKs to be sent before SendAcks() - is forced + + Search Auction, Mainland and Estate - - Network stats queue length (seconds) + + Land which is currently up for auction - - - 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 - + + Parcels which are on the mainland (Linden owned) continents - - - Pool parcel data between clients (saves on requesting multiple times when all clients may need it) - + + Parcels which are on privately owned simulators - + - 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 content rating of the event - - 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 + + Event is PG - - 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 + + Event is Mature - - Enable/disable the sending of pings to monitor lag and - packet loss + + Event is Adult - - Should we connect to multiple sims? This will allow - viewing in to neighboring simulators and sim crossings - (Experimental) + + + Classified Ad Options + + There appear to be two formats the flags are packed in. + This set of flags is for the newer style - - 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 + + + Classified ad query options + - - If true, and SEND_AGENT_UPDATES is true, - AgentUpdate packets will continuously be sent out to give the bot - smoother movement and autopiloting + + Include all ads in results - - 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 + + Include PG ads in results - - 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 + + Include Mature ads in results - - 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 + + Include Adult ads in results - + - If true, utilization statistics will be tracked. There is a minor penalty - in CPU time for enabling this option. + The For Sale flag in PlacesReplyData - - If true, parcel details will be stored in the - Simulator.Parcels dictionary as they are received + + Parcel is not listed for sale - - - If true, an incoming parcel properties reply will automatically send - a request for the parcel access list - + + Parcel is For Sale - + - if true, an incoming parcel properties reply will automatically send - a request for the traffic count. + A classified ad on the grid - - - If true, images, and other assets downloaded from the server - will be cached in a local directory - + + UUID for this ad, useful for looking up detailed + information about it - - Path to store cached texture data + + The title of this classified ad - - Maximum size cached files are allowed to take on disk (bytes) + + Flags that show certain options applied to the classified - - Default color used for viewer particle effects + + Creation date of the ad - - Maximum number of times to resend a failed packet + + Expiration date of the ad - - Throttle outgoing packet rate + + Price that was paid for this ad - - UUID of a texture used by some viewers to indentify type of client used + + Print the struct data as a string + A string containing the field name, and field value - + - Download textures using GetTexture capability when available + A parcel retrieved from the dataserver such as results from the + "For-Sale" listings or "Places" Search - - 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 + + The unique dataserver parcel ID + This id is used to obtain additional information from the entry + by using the method - - - Textures taking longer than this value will be flagged as timed out and removed from the pipeline - + + A string containing the name of the parcel - - - 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 + + The size of the parcel + This field is not returned for Places searches - - Log packet retransmission info + + The price of the parcel + This field is not returned for Places searches - - Log disk cache misses and other info + + If True, this parcel is flagged to be auctioned - - Constructor - Reference to a GridClient object + + If true, this parcel is currently set for sale - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Parcel traffic - - Cost of uploading an asset - Read-only since this value is dynamically fetched at login + + Print the struct data as a string + A string containing the field name, and field value - + - 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. - + An Avatar returned from the dataserver - Key - Value - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking - on this member + + Online status of agent + This field appears to be obsolete and always returns false - - - 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>(); - - + + The agents first name - - - 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 agents last name - - - 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 agents - - - 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); - - - + + Print the struct data as a string + A string containing the field name, and field value - + - Finds the specified match. + Response to a "Groups" Search - 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)); - } - ); - - + + The Group ID - - 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 name of the 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); - } - }); - - + + The current number of members - - Perform an on each key of an - to perform + + Print the struct data as a string + A string containing the field name, and field value - + - Perform an on each KeyValuePair of an + 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 - to perform - - Check if Key exists in Dictionary - Key to check for - if found, otherwise + + The ID of the Agent of Group that owns the parcel - - Check if Value exists in Dictionary - Value to check for - if found, otherwise + + The name - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - - The key - The value + + The description - - - Removes the specified key, dictionary locking is not performed - - The key. - if successful, otherwise + + The Size of the parcel - - - Gets the number of Key/Value pairs contained in the - + + 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 - - - Indexer for the dictionary - - The key - The value + + Indicates the ForSale status of the parcel - - - Avatar profile flags - + + The Gridwide X position - - - Represents an avatar (other than your own) - + + The Gridwide Y position - - - Particle system specific enumerators, flags and methods. - + + 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 + - - Foliage type for this primitive. Only applicable if this - primitive is foliage + + The ID of the event creator - - Unknown + + 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 - - Identifies the owner if audio or a particle system is - active + + 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 - - Objects physics engine propertis + + The ID returned by - - Extra data about primitive + + A list of "Events" returned by the data server - - Indicates if prim is attached to an avatar + + Contains the "Event" list data returned from the data server - - Number of clients referencing this prim + + 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 - - - Default constructor - + + The ID returned by - - - 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 + + A list of "Places" returned by the data server - - - 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 + + Contains the places data returned from the data server - - - Current version of the media data for the prim - + + 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 - - - Array of media entries indexed by face number - + + The ID returned by - - + + A list containing Places data returned by the data server - - Uses basic heuristics to estimate the primitive shape + + Contains the classified data returned from the data server - - - Texture animation mode - + + Construct a new instance of the DirClassifiedsReplyEventArgs class + A list of classified ad data returned from the data server - - Disable texture animation + + A list containing Classified Ads returned by the data server - - Enable texture animation + + Contains the group data returned from the data server - - Loop when animating textures + + 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 - - Animate in reverse direction + + The ID returned by - - Animate forward then reverse + + A list containing Groups data returned by the data server - - Slide texture smoothly instead of frame-stepping + + Contains the people data returned from the data server - - Rotate texture instead of using frames + + 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 - - Scale texture instead of using frames + + 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 + + - A single textured face. Don't instantiate this class yourself, use the - methods in TextureEntry + Interface requirements for Messaging system - + - Contains the definition for individual faces + Image width - - + - + Image height - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - In the future this will specify whether a webpage is - attached to this face - - - - - - - + - Represents all of the texturable faces for an object + Image channel flags - 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 - - + + + Red channel data + - - + + + Green channel data + - + - Constructor that takes a default texture UUID + Blue channel data - Texture UUID to use as the default texture - + - Constructor that takes a TextureEntryFace for the - default face + Alpha channel data - Face to use as the default face - + - Constructor that creates the TextureEntry class from a byte array + Bump channel data - 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 + Create a new blank image - The index number of the face to create or - retrieve - A TextureEntryFace containing all the properties for that - face + 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 - + - Controls the texture animation of a particular prim + 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 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 - - + - Parameters used to construct a visual representation of a primitive + 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 - - + + + + - - + + + 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 + + - - + + + Delegate to wrap another delegate and its arguments + + + - - + + + 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 - + - Calculdates hash code for prim construction 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 has - - - Attachment point to an avatar - - - + 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 - - - Information on the flexible properties of a primitive - + + 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 + 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 - + - Information on the light properties of a primitive + 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 - - - - - - - - - - - - - - - - + - Default constructor + 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 - + - Information on the light properties of a primitive as texture map + 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 - + - Default constructor + 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. + + + 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 - + - Information on the sculpt properties of a sculpted primitive + Object pool for packet buffers. This is used to allocate memory for all + incoming and outgoing packets, and zerocoding buffers for those packets - + - Default constructor + 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. - + - Render inside out (inverts the normals). + Forces the segment cleanup algorithm to be run. This method is intended + primarly for use from the Unit Test libraries. - + - Render an X axis mirror of the sculpty. + Responsible for allocate 1 instance of an object that will be stored in a segment. + An instance of whatever objec the pool is pooling. - + - Extended properties to describe an object + 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. + - - + + + Initialize the object pool in client mode + + Server to connect to + + - - + + + Initialize the object pool in server mode + + + - + - Default constructor + 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 - + - Set the properties that are set in an ObjectPropertiesFamily packet + Default constructor - that has - been partially filled by an ObjectPropertiesFamily packet - + - Describes physics attributes of the prim + Check a packet buffer out of the pool + A packet buffer object - - 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 + + + Singleton logging class for the entire library + - - Restitution + + log4net logging engine - + - Creates PhysicsProperties from OSD + Default constructor - OSDMap with incoming data - Deserialized PhysicsProperties object - + - Serializes PhysicsProperties to OSD + Send a log message to the logging engine - OSDMap with serialized PhysicsProperties data + The log message + The severity of the log entry - + - Complete structure for the particle system + Send a log message to the logging engine + The log message + The severity of the log entry + Instance of the 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 + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Exception that was raised - - pattern of particles + + + 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 - - A representing the maximimum age (in seconds) particle will be displayed - Maximum value is 30 seconds + + + 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 - - 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 + + + 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 in radians that specifies where particles will not be created + + Triggered whenever a message is logged. If this is left + null, log messages will go to the console - - A in radians that specifies where particles will be created + + + Callback used for client apps to receive log messages from + the library + + Data being logged + The severity of the log entry from - - 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. + + The avatar has no rights - - A representing in seconds, the minimum speed between bursts of new particles - being emitted + + The avatar can see the online status of the target avatar - - A representing in seconds the maximum speed of new particles being emitted. + + The avatar can see the location of the target avatar on the map - - A representing the maximum number of particles emitted per burst + + The avatar can modify the ojects of the target avatar - - A which represents the velocity (speed) from the source which particles are emitted + + + 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 + - - A which represents the Acceleration from the source which particles are emitted + + + 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 - - The Key of the texture displayed on the particle + + + FriendInfo represented as a string + + A string reprentation of both my rights and my friends rights - - The Key of the specified target object or avatar particles will follow + + + System ID of the avatar + - - Flags of particle from + + + full name of the avatar + - - Max Age particle system will emit particles for + + + True if the avatar is online + - - The the particle has at the beginning of its lifecycle + + + True if the friend can see if I am online + - - The the particle has at the ending of its lifecycle + + + True if the friend can see me on the map + - - A that represents the starting X size of the particle - Minimum value is 0, maximum value is 4 + + + True if the freind can modify my objects + - - A that represents the starting Y size of the particle - Minimum value is 0, maximum value is 4 + + + True if I can see if my friend is online + - - A that represents the ending X size of the particle - Minimum value is 0, maximum value is 4 + + + True if I can see if my friend is on the map + - - A that represents the ending Y size of the particle - Minimum value is 0, maximum value is 4 + + + True if I can modify my friend's objects + - + - Decodes a byte[] array into a ParticleSystem Object + My friend's rights represented as bitmapped flags - ParticleSystem object - Start position for BitPacker - + - Generate byte[] array from particle data + My rights represented as bitmapped flags - Byte array - + - Particle source pattern + This class is used to add and remove avatars from your friends list and to manage their permission. - - None + + The event subscribers. null if no subcribers - - Drop particles from source position with no force + + Raises the FriendOnline event + A FriendInfoEventArgs object containing the + data returned from the data server - - "Explode" particles in all directions + + Thread sync lock object - - Particles shoot across a 2D area + + The event subscribers. null if no subcribers - - Particles shoot across a 3D Cone + + Raises the FriendOffline event + A FriendInfoEventArgs object containing the + data returned from the data server - - Inverse of AngleCone (shoot particles everywhere except the 3D cone defined + + Thread sync lock object - - - Particle Data Flags - - - - None - - - Interpolate color and alpha from start to end - - - Interpolate scale from start to end + + The event subscribers. null if no subcribers - - Bounce particles off particle sources Z height + + Raises the FriendRightsUpdate event + A FriendInfoEventArgs object containing the + data returned from the data server - - velocity of particles is dampened toward the simulators wind + + Thread sync lock object - - Particles follow the source + + The event subscribers. null if no subcribers - - Particles point towards the direction of source's velocity + + Raises the FriendNames event + A FriendNamesEventArgs object containing the + data returned from the data server - - 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 + + Raises the FriendshipOffered event + A FriendshipOfferedEventArgs object containing the + data returned from the data server - - used for point/grab/touch + + Thread sync lock object - - - Particle Flags Enum - + + The event subscribers. null if no subcribers - - None + + Raises the FriendshipResponse event + A FriendshipResponseEventArgs object containing the + data returned from the data server - - 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 - - Groups that this avatar is a member of + + Raises the FriendshipTerminated event + A FriendshipTerminatedEventArgs object containing the + data returned from the data server - - Positive and negative ratings + + Thread sync lock object - - Avatar properties including about text, profile URL, image IDs and - publishing settings + + The event subscribers. null if no subcribers - - Avatar interests including spoken languages, skills, and "want to" - choices + + Raises the FriendFoundReply event + A FriendFoundReplyEventArgs object containing the + data returned from the data server - - Movement control flags for avatars. Typically not set or used by - clients. To move your avatar, use Client.Self.Movement instead + + Thread sync lock object - + - Contains the visual parameters describing the deformation of the avatar + 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 - + - Appearance version. Value greater than 0 indicates using server side baking + 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 - + - Version of the Current Outfit Folder that the appearance is based on + Internal constructor + A reference to the GridClient Object - + - Appearance flags. Introduced with server side baking, currently unused. + Accept a friendship request + agentID of avatatar to form friendship with + imSessionID of the friendship request message - + - List of current avatar animations + Decline a friendship request + of friend + imSessionID of the friendship request message - + - Default constructor + Overload: Offer friendship to an avatar. + System ID of the avatar you are offering friendship to - - First name - - - Last name + + + Offer friendship to an avatar. + + System ID of the avatar you are offering friendship to + A message to send with the request - - Full name + + + Terminate a friendship with an avatar + + System ID of the avatar you are terminating the friendship with - - Active group + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Positive and negative ratings + 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. - - Positive ratings for Behavior + + + Use to map a friends location on the grid. + + Friends UUID to find + - - Negative ratings for Behavior + + + Use to track a friends movement on the grid + + Friends Key - - Positive ratings for Appearance + + + Ask for a notification of friend's online status + + Friend's UUID - - Negative ratings for Appearance + + + This handles the asynchronous response of a RequestAvatarNames call. + + + names cooresponding to the the list of IDs sent the the RequestAvatarNames call. - - Positive ratings for Building + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Negative ratings for Building + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Positive ratings given by this avatar + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Negative ratings given by this avatar + + 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 + 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 - - First Life about text - - - First Life image ID + + 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 - - Profile image ID - - - Flags of the profile + + Raised when a request we sent to friend another agent is accepted or declined - - Web URL for this profile + + Raised when the simulator sends notification one of the members in our friends list has terminated + our friendship - - Should this profile be published on the web + + Raised when the simulator sends the location of a friend we have + requested map location info for - - Avatar Online Status + + Contains information on a member of our friends list - - Is this a mature profile + + + Construct a new instance of the FriendInfoEventArgs class + + The FriendInfo - - + + Get the FriendInfo - - + + Contains Friend Names - + - Avatar interests including spoken languages, skills, and "want to" - choices + 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 - - Languages profile field + + 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 - - - Throttles the network traffic for various different traffic types. - Access this class through GridClient.Throttle - + + 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 + + - Default constructor, uses a default high total of 1500 KBps (1536000) + 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 + + - Constructor that decodes an existing AgentThrottle packet in to - individual values + Construct a new instance of the FrindshipTerminatedEventArgs class - 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 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 + + - Send an AgentThrottle packet to the current server using the - current values + Data sent in response to a request which contains the information to allow us to map the friends location - + - Send an AgentThrottle packet to the specified server using the - current values + 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 + + - Convert the current throttle values to a byte array that can be put - in an AgentThrottle packet + Static pre-defined animations available to all agents - Byte array containing all the throttle values - - Maximum bits per second for resending unacknowledged packets + + Agent with afraid expression on face - - Maximum bits per second for LayerData terrain + + Agent aiming a bazooka (right handed) - - Maximum bits per second for LayerData wind data + + Agent aiming a bow (left handed) - - Maximum bits per second for LayerData clouds + + Agent aiming a hand gun (right handed) - - Unknown, includes object data + + Agent aiming a rifle (right handed) - - Maximum bits per second for textures + + Agent with angry expression on face - - Maximum bits per second for downloaded assets + + Agent hunched over (away) - - Maximum bits per second the entire connection, divided up - between invidiual streams using default multipliers + + Agent doing a backflip - - = + + Agent laughing while holding belly - - Number of times we've received an unknown CAPS exception in series. + + Agent blowing a kiss - - For exponential backoff on error. + + Agent with bored expression on face - - - Represents Mesh asset - + + Agent bowing to audience - - - Decoded mesh data - + + Agent brushing himself/herself off - - Initializes a new instance of an AssetMesh object + + Agent in busy mode - - Initializes a new instance of an AssetMesh object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + Agent clapping hands - - - TODO: Encodes Collada file into LLMesh format - + + Agent doing a curtsey bow - - - Decodes mesh asset. See - to furter decode it for rendering - true + + Agent crouching - - Override the base classes AssetType + + Agent crouching while walking - - X position of this patch + + Agent crying - - Y position of this patch + + Agent unanimated with arms out (e.g. setting appearance) - - A 16x16 array of floats holding decompressed layer data + + Agent re-animated after set appearance finished - - - 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 dancing - - - 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 dancing - - - Permission request flags, asked when a script wants to control an Avatar - + + Agent dancing - - Placeholder for empty values, shouldn't ever see this + + Agent dancing - - Script wants ability to take money from you + + Agent dancing - - Script wants to take camera controls for you + + Agent dancing - - Script wants to remap avatars controls + + Agent dancing - - Script wants to trigger avatar animations - This function is not implemented on the grid + + Agent dancing - - Script wants to attach or detach the prim or primset to your avatar + + Agent on ground unanimated - - Script wants permission to release ownership - This function is not implemented on the grid - The concept of "public" objects does not exist anymore. + + Agent boozing it up - - Script wants ability to link/delink with other prims + + Agent with embarassed expression on face - - Script wants permission to change joints - This function is not implemented on the grid + + Agent with afraid expression on face - - Script wants permissions to change permissions - This function is not implemented on the grid + + Agent with angry expression on face - - Script wants to track avatars camera position and rotation + + Agent with bored expression on face - - Script wants to control your camera + + Agent crying - - Script wants the ability to teleport you + + Agent showing disdain (dislike) for something - - - Special commands used in Instant Messages - + + Agent with embarassed expression on face - - Indicates a regular IM from another agent + + Agent with frowning expression on face - - Simple notification box with an OK button + + Agent with kissy face - - You've been invited to join a group. + + Agent expressing laughgter - - Inventory offer + + Agent with open mouth - - Accepted inventory offer + + Agent with repulsed expression on face - - Declined inventory offer + + Agent expressing sadness - - Group vote + + Agent shrugging shoulders - - An object is offering its inventory + + Agent with a smile - - Accept an inventory offer from an object + + Agent expressing surprise - - Decline an inventory offer from an object + + Agent sticking tongue out - - Unknown + + Agent with big toothy smile - - Start a session, or add users to a session + + Agent winking - - Start a session, but don't prune offline users + + Agent expressing worry - - Start a session with your group + + Agent falling down - - Start a session without a calling card (finder or objects) + + Agent walking (feminine version) - - Send a message to a session + + Agent wagging finger (disapproval) - - Leave a session + + I'm not sure I want to know - - Indicates that the IM is from an object + + Agent in superman position - - Sent an IM to a busy user, this is the auto response + + Agent in superman position - - Shows the message in the console and chat history + + Agent greeting another - - Send a teleport lure + + Agent holding bazooka (right handed) - - Response sent to the agent which inititiated a teleport invitation + + Agent holding a bow (left handed) - - Response sent to the agent which inititiated a teleport invitation + + Agent holding a handgun (right handed) - - Only useful if you have Linden permissions + + Agent holding a rifle (right handed) - - Request a teleport lure + + Agent throwing an object (right handed) - - IM to tell the user to go to an URL + + Agent in static hover - - IM for help + + Agent hovering downward - - IM sent automatically on call for help, sends a lure - to each Helper reached + + Agent hovering upward - - Like an IM but won't go to email + + Agent being impatient - - IM from a group officer to all group members + + Agent jumping - - Unknown + + Agent jumping with fervor - - Unknown + + Agent point to lips then rear end - - Accept a group invitation + + Agent landing from jump, finished flight, etc - - Decline a group invitation + + Agent laughing - - Unknown + + Agent landing from jump, finished flight, etc - - An avatar is offering you friendship + + Agent sitting on a motorcycle - - An avatar has accepted your friendship offer + + - - An avatar has declined your friendship offer + + Agent moving head side to side - - Indicates that a user has started typing + + Agent moving head side to side with unhappy expression - - Indicates that a user has stopped typing + + Agent taunting another - - - Flag in Instant Messages, whether the IM should be delivered to - offline avatars as well - + + - - Only deliver to online avatars + + Agent giving peace sign - - 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) + + Agent pointing at self - - Normal chat (10/20m radius), what the official viewer typically sends + + Agent pointing at another - - Shouting! (100m radius) + + Agent preparing for jump (bending knees) - - Event message when an Avatar has begun to type + + Agent punching with left hand - - Event message when an Avatar has stopped typing + + Agent punching with right hand - - Send the message to the debug channel + + Agent acting repulsed - - Event message when an object uses llOwnerSay + + Agent trying to be Chuck Norris - - Special value to support llRegionSay, never sent to the client + + Rocks, Paper, Scissors 1, 2, 3 - - - Identifies the source of a chat message - + + Agent with hand flat over other hand - - Chat from the grid or simulator + + Agent with fist over other hand - - Chat from another avatar + + Agent with two fingers spread over other hand - - Chat from an object + + Agent running - - - - + + Agent appearing sad - - + + Agent saluting - - + + Agent shooting bow (left handed) - - + + Agent cupping mouth as if shouting - - - Effect type used in ViewerEffect packets - + + 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 - - Project a beam from a source to a destination, such as - the one used when editing an object + + Agent smoking - - + + Agent inhaling smoke - + - - + + Agent taking a picture - - Create a swirl of particles around an object + + Agent standing - - + + Agent standing up - - + + Agent standing - - Cause an avatar to look at an object + + Agent standing - - Cause an avatar to point at an object + + Agent standing - - - The action an avatar is doing when looking at something, used in - ViewerEffect packets for the LookAt effect - + + Agent standing - - + + Agent stretching - - + + Agent in stride (fast walk) - - + + Agent surfing - - + + Agent acting surprised - - + + Agent striking with a sword - - + + Agent talking (lips moving) - - Deprecated + + 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 - - - The action an avatar is doing when pointing at something, used in - ViewerEffect packets for the PointAt effect - + + Agent typing - - + + Agent walking - - + + Agent whispering - - + + Agent whispering with fingers in mouth - - + + Agent winking - - - Money transaction types - + + 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 - - + + + 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 - - + + + Represents a single Voice Session to the Vivox service. + - - + + + Close this session. + - - + + + Look up an existing Participants in this session + + + - + + + 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 + + + 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 + + + - + - + - + - + - + - + - + - + + 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 - + - Flags sent when a script takes or releases a control + Default constructor - 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 + 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 - - No flags set - - - Hide your group title - - + - Action state of the avatar, which can currently be typing and - editing + 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 - + - Current teleport status + Texture animation mode - - Unknown status + + Disable texture animation - - Teleport initialized + + Enable texture animation - - Teleport in progress + + Loop when animating textures - - Teleport failed + + Animate in reverse direction - - Teleport completed + + Animate forward then reverse - - Teleport cancelled + + 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 - - No flags set, or teleport failed + + + Contains the definition for individual faces + + - - 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 + + In the future this will specify whether a webpage is + attached to this face - - Finished, Sim Changed + + - - Finished, Same Sim + + - + - + 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 - - - - - - - - - - + - Type of mute entry + 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 - - Object muted by name + + + 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 - - Muted residet + + + + + + - - Object muted by UUID + + + + + - - Muted group + + + + + - - Muted external entry + + + + + - + - Flags of mute entry + Controls the texture animation of a particular prim - - 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 + + + Parameters used to construct a visual representation of a primitive + - - 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 + + + Calculdates hash code for prim construction data + + The has - - Is transaction destination a group + + Attachment point to an avatar - - Transaction amount + + - - Transaction description + + - - - - + + - + + + + - Construct a new instance of the ChatEventArgs object + Information on the flexible properties of a primitive - 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 + Default constructor - 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 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 + + + Information on the light properties of a primitive + - - 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 + + + Default constructor + - + - 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 + + + Information on the light properties of a primitive as texture map + - - True if the object is owned by a group + + - - Get the message sent with the request + + - - Get the URL the object sent + + + Default constructor + - - 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 + + + Information on the sculpt properties of a sculpted primitive + - - Contains the currency balance + + + Default constructor + - + - Construct a new BalanceEventArgs object + - The currenct balance + + - + - Get the currenct balance + Render inside out (inverts the normals). - - Contains the transaction summary when an item is purchased, - money is given, or land is purchased + + + Render an X axis mirror of the sculpty. + - + - Construct a new instance of the MoneyBalanceReplyEventArgs object + Extended properties to describe an 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 + + - - 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 + + - - - 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 + Default constructor - 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 + Set the properties that are set in an ObjectPropertiesFamily packet - 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 + that has + been partially filled by an ObjectPropertiesFamily packet - + - Construct a new instance of the AlertMessageEventArgs class + Describes physics attributes of the prim - The alert message - - - Get the alert message - - Data sent by a script requesting to take or release specified controls to your agent + + Primitive's local ID - - - 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 + + Density (1000 for normal density) - - Get the controls the script is attempting to take or release to the agent + + Friction - - True if the script is passing controls back to the agent + + Gravity multiplier (1 for normal gravity) - - True if the script is requesting controls be released to the script + + Type of physics representation of this primitive in the simulator - - - Data sent from the simulator to an agent to indicate its view limits - + + Restitution - + - Construct a new instance of the CameraConstraintEventArgs class + Creates PhysicsProperties from OSD - The collision plane - - - Get the collision plane + OSDMap with incoming data + Deserialized PhysicsProperties object - + - Data containing script sensor requests which allow an agent to know the specific details - of a primitive sending script sensor requests + Serializes PhysicsProperties to OSD + OSDMap with serialized PhysicsProperties data - + - Construct a new instance of the ScriptSensorReplyEventArgs + Complete structure for the particle system - 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 + + 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 - - Get the ID of the group associated with the primitive + + pattern of particles - - Get the name of the primitive sending the sensor + + A representing the maximimum age (in seconds) particle will be displayed + Maximum value is 30 seconds - - Get the ID of the primitive sending the sensor + + 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 - - Get the ID of the owner of the primitive sending the sensor + + A in radians that specifies where particles will not be created - - Get the position of the primitive sending the sensor + + A in radians that specifies where particles will be created - - Get the range the primitive specified to scan + + A representing the number of seconds between burts. - - Get the rotation of the primitive sending the sensor + + A representing the number of meters + around the center of the source where particles will be created. - - Get the type of sensor the primitive sent + + A representing in seconds, the minimum speed between bursts of new particles + being emitted - - Get the velocity of the primitive sending the sensor + + A representing in seconds the maximum speed of new particles being emitted. - - Contains the response data returned from the simulator in response to a + + A representing the maximum number of particles emitted per burst - - Construct a new instance of the AvatarSitResponseEventArgs object + + A which represents the velocity (speed) from the source which particles are emitted - - Get the ID of the primitive the agent will be sitting on + + A which represents the Acceleration from the source which particles are emitted - - True if the simulator Autopilot functions were involved + + The Key of the texture displayed on the particle - - Get the camera offset of the agent when seated + + The Key of the specified target object or avatar particles will follow - - Get the camera eye offset of the agent when seated + + Flags of particle from - - True of the agent will be in mouselook mode when seated + + Max Age particle system will emit particles for - - Get the position of the agent when seated + + The the particle has at the beginning of its lifecycle - - Get the rotation of the agent when seated + + The the particle has at the ending of its lifecycle - - Data sent when an agent joins a chat session your agent is currently participating in + + A that represents the starting X size of the particle + Minimum value is 0, maximum value is 4 - - - Construct a new instance of the ChatSessionMemberAddedEventArgs object - - The ID of the chat session - The ID of the agent joining + + A that represents the starting Y size of the particle + Minimum value is 0, maximum value is 4 - - Get the ID of the chat session + + A that represents the ending X size of the particle + Minimum value is 0, maximum value is 4 - - Get the ID of the agent that joined + + A that represents the ending Y size of the particle + Minimum value is 0, maximum value is 4 - - Data sent when an agent exits a chat session your agent is currently participating in + + + Decodes a byte[] array into a ParticleSystem Object + + ParticleSystem object + Start position for BitPacker - + - Construct a new instance of the ChatSessionMemberLeftEventArgs object + Generate byte[] array from particle data - The ID of the chat session - The ID of the Agent that left + Byte array - - Get the ID of the chat session + + + Particle source pattern + - - Get the ID of the agent that left + + None - - Event arguments with the result of setting display name operation + + Drop particles from source position with no force - - Default constructor + + "Explode" particles in all directions - - Status code, 200 indicates settign display name was successful + + Particles shoot across a 2D area - - Textual description of the status + + Particles shoot across a 3D Cone - - Details of the newly set display name + + Inverse of AngleCone (shoot particles everywhere except the 3D cone defined - + - Represents an LSL Text object containing a string of UTF encoded characters + Particle Data Flags - - A string of characters represting the script contents + + None - - Initializes a new AssetScriptText object + + Interpolate color and alpha from start to end - - - Initializes a new AssetScriptText object with parameters - - A unique specific to this asset - A byte array containing the raw asset data + + Interpolate scale from start to end - - - Encode a string containing the scripts contents into byte encoded AssetData - + + Bounce particles off particle sources Z height - - - Decode a byte array containing the scripts contents into a string - - true if decoding is successful + + velocity of particles is dampened toward the simulators wind - - Override the base classes AssetType + + Particles follow the source - - - Type of gesture step - + + Particles point towards the direction of source's velocity - - - Base class for gesture steps - + + Target of the particles - - - Retururns what kind of gesture step this is - + + Particles are sent in a straight line - - - Describes animation step of a gesture - + + Particles emit a glow - - - If true, this step represents start of animation, otherwise animation stop - + + used for point/grab/touch - + - Animation asset + Particle Flags Enum - - - Animation inventory name - + + None - + + Acceleration and velocity for particles are + relative to the object rotation + + + Particles use new 'correct' angle parameters + + - Returns what kind of gesture step this is + 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 - + - Describes sound step of a gesture + 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 + + - Sound asset + 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 - + - Sound inventory name + Encode a object into a byte array + The object to encode + a byte array of the encoded image - + - Returns what kind of gesture step this is + 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 - + - Describes sound step of a gesture + + + + - + - Text to output in chat + + + + + - + - Returns what kind of gesture step this is + 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 - + - Describes sound step of a gesture + Defines the beginning and ending file positions of a layer in an + LRCP-progression JPEG2000 file - + - If true in this step we wait for all animations to finish + This structure is used to marshal both encoded and decoded images. + MUST MATCH THE STRUCT IN dotnet.h! - + - If true gesture player should wait for the specified amount of time + Information about a single packet in a JPEG2000 stream - - - Time in seconds to wait if WaitForAnimation is false - + + Packet start position - - - Returns what kind of gesture step this is - + + Packet header end position - - - Describes the final step of a gesture - + + Packet end position - - - Returns what kind of gesture step this is - + + The event subscribers. null if no subcribers - - - Represents a sequence of animations, sounds, and chat actions - + + Raises the LandPatchReceived event + A LandPatchReceivedEventArgs object containing the + data returned from the simulator - - - Keyboard key that triggers the gestyre - + + Thread sync lock object - + - Modifier to the trigger key + Default constructor + - - - String that triggers playing of the gesture sequence - + + Raised when the simulator responds sends - - - Text that replaces trigger in chat once gesture is triggered - + + Simulator from that sent tha data - - - Sequence of gesture steps - + + Sim coordinate of the patch - - - Constructs guesture asset - + + Sim coordinate of the patch - - - Constructs guesture asset - - A unique specific to this asset - A byte array containing the raw asset data + + Size of tha patch - + + Heightmap for the patch + + - Encodes gesture asset suitable for uplaod + 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 + + - Decodes gesture assset into play sequence + Default constructor - true if the asset data was decoded successfully + + - + - Returns asset type + 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 - + - pre-defined built in sounds + 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 - - + + + + - - coins + + OK - - cash register bell + + Transfer completed - + - + - - rubber - - - plastic - - - flesh - - - wood splintering? + + Unknown error occurred - - glass break + + Equivalent to a 404 error - - metal clunk + + Client does not have permission for that resource - - whoosh + + Unknown status - - shake + + + + - + - - ding + + 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 - + - A dictionary containing all pre-defined sounds + Image file format - 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 - + - 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 + + Number of milliseconds passed since the last transfer + packet was received - + - 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 + + Number of milliseconds to wait for a transfer header packet if out of order data was received - - Name of Group + + The event subscribers. null if no subcribers - - Text of Group Charter + + Raises the XferReceived event + A XferReceivedEventArgs object containing the + data returned from the simulator - - Title of "everyone" role + + Thread sync lock object - - Is the group open for enrolement to everyone + + The event subscribers. null if no subcribers - - Will group show up in search + + 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 - - Is the group Mature + + Thread sync lock object - - Cost of group membership + + 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 total number of current members this group has + + The event subscribers. null if no subcribers - - The number of roles this group has configured + + Raises the ImageReceiveProgress event + A ImageReceiveProgressEventArgs object containing the + data returned from the simulator - - Show this group in agent's profile + + Thread sync lock object - - Returns the name of the group - A string containing the name of the group + + Texture download cache - + - A group Vote + Default constructor + A reference to the GridClient object - - Key of Avatar who created Vote - - - Text of the Vote proposal - - - Total number of votes - - + - A group proposal + 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 Text of the proposal - - - The minimum number of members that must vote before proposal passes or failes + + + 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 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 + + + 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 - - The duration in days votes are accepted + + + 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; + } + } + } + + - + - Struct representing a group notice + 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 - + - Struct representing a group notice list entry + Lets TexturePipeline class fire the progress event + The texture ID currently being downloaded + the number of bytes transferred + the total number of bytes expected - - Notice ID + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Creation timestamp of notice + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Agent name who created notice + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Notice subject + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Is there an attachment? + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Attachment Type + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Struct representing a member of a group chat session and their settings - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The of the Avatar + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - True if user has voice chat enabled + + Raised when the simulator responds sends - - True of Avatar has moderator abilities + + Raised during upload completes - - True if a moderator has muted this avatars chat + + Raised during upload with progres update - - True if a moderator has muted this avatars voice + + 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 + + - Role update flags + 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 - - Can send invitations to groups default role + + + A callback that fires upon the completition of the RequestMesh call + + Was the download successfull + Resulting mesh or null on problems - - Can eject members from group + + Xfer data - - Can toggle 'Open Enrollment' and change 'Signup fee' + + Upload data - - Member is visible in the public member list + + Filename used on the simulator - - Can create new roles + + Filename used by the client - - Can delete existing roles + + UUID of the image that is in progress - - Can change Role names, titles and descriptions + + Number of bytes received so far - - Can assign other members to assigners role + + Image size in bytes - - Can assign other members to any role + + + Represents an LSL Text object containing a string of UTF encoded characters + - - Can remove members from roles + + A string of characters represting the script contents - - Can assign and remove abilities in roles + + Initializes a new AssetScriptText object - - Can change group Charter, Insignia, 'Publish on the web' and which - members are publicly visible in group member listings + + + Initializes a new AssetScriptText object with parameters + + A unique specific to this asset + A byte array containing the raw asset data - - Can buy land or deed land to group + + + Encode a string containing the scripts contents into byte encoded AssetData + - - Can abandon group owned land to Governor Linden on mainland, or Estate owner for - private estates + + + Decode a byte array containing the scripts contents into a string + + true if decoding is successful - - Can set land for-sale information on group owned parcels + + Override the base classes AssetType - - Can subdivide and join parcels + + + Represents an AssetScriptBinary object containing the + LSO compiled bytecode of an LSL script + - - Can join group chat sessions + + Initializes a new instance of an AssetScriptBinary object - - Can use voice chat in Group Chat sessions + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - Can moderate group chat sessions + + + TODO: Encodes a scripts contents into a LSO Bytecode file + - - Can toggle "Show in Find Places" and set search category + + + TODO: Decode LSO Bytecode into a string + + true - - Can change parcel name, description, and 'Publish on web' settings + + Override the base classes AssetType - - Can set the landing point and teleport routing on group land + + + Represents a Callingcard with AvatarID and Position vector + - - Can change music and media settings + + UUID of the Callingcard target avatar - - Can toggle 'Edit Terrain' option in Land settings + + Construct an Asset of type Callingcard - - Can toggle various About Land > Options settings + + + Construct an Asset object of type Callingcard + + A unique specific to this asset + A byte array containing the raw asset data - - Can always terraform land, even if parcel settings have it turned off + + + Constuct an asset of type Callingcard + + UUID of the target avatar - - Can always fly while over group owned land + + + Encode the raw contents of a string with the specific Callingcard format + - - Can always rez objects on group owned land + + + Decode the raw asset data, populating the AvatarID and Position + + true if the AssetData was successfully decoded to a UUID and Vector - - Can always create landmarks for group owned parcels + + Override the base classes AssetType - - Can set home location on any group owned parcel + + + + - - Can modify public access settings for group owned parcels + + The event subscribers, null of no subscribers - - Can manager parcel ban lists on group owned land + + Raises the AttachedSound Event + A AttachedSoundEventArgs object containing + the data sent from the simulator - - Can manage pass list sales information + + Thread sync lock object - - Can eject and freeze other avatars on group owned land + + The event subscribers, null of no subscribers - - Can return objects set to group + + Raises the AttachedSoundGainChange Event + A AttachedSoundGainChangeEventArgs object containing + the data sent from the simulator - - 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 + + Raises the SoundTrigger Event + A SoundTriggerEventArgs object containing + the data sent from the simulator - - Can deed objects to group + + Thread sync lock object - - Can move group owned objects + + The event subscribers, null of no subscribers - - Can set group owned objects for-sale + + Raises the PreloadSound Event + A PreloadSoundEventArgs object containing + the data sent from the simulator - - Pay group liabilities and receive group dividends + + Thread sync lock object - - List and Host group events + + + Construct a new instance of the SoundManager class, used for playing and receiving + sound assets + + A reference to the current GridClient instance - - Can send group notices + + + Plays a sound in the current region at full volume from avatar position + + UUID of the sound to be played - - Can receive group notices + + + 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. - - Can create group proposals + + + 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 - - Can vote on group proposals + + + 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 - + - Handles all network traffic related to reading and writing group - information + 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 - - 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 CurrentGroups event - A CurrentGroupsEventArgs 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 + + 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 GroupNamesReply event - A GroupNamesEventArgs object containing the - data response from the simulator + + Raised when the simulator sends us data containing + sound - - 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 GroupProfile event - An GroupProfileEventArgs object containing the - data returned from the simulator + + Raised when the simulator sends us data containing + ... - - Thread sync lock object + + 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 ... + } + + - - The event subscribers. null if no subcribers + + + 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 GroupMembers event - A GroupMembersEventArgs object containing the - data returned from the simulator + + 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 GroupRolesDataReply event - A GroupRolesDataReplyEventArgs object containing the - data returned from the simulator + + 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 GroupRoleMembersReply event - A GroupRolesRoleMembersReplyEventArgs object containing the - data returned from the simulator + + 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 GroupTitlesReply event - A GroupTitlesReplyEventArgs object containing the - data returned from the simulator + + 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 GroupAccountSummary event - A GroupAccountSummaryReplyEventArgs object containing the - data returned from the simulator + + + 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 GroupCreated event - An GroupCreatedEventArgs object containing the - data returned from the simulator + + 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 GroupJoined event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator + + Get the volume level - - Thread sync lock object + + Get the regionhandle - - The event subscribers. null if no subcribers + + Get the source position - - Raises the GroupLeft event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator + + 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 PreloadSoundEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object - - The event subscribers. null if no subcribers + + Simulator where the event originated - - Raises the GroupDropped event - An GroupDroppedEventArgs object containing the - the group your agent left + + Get the sound asset id - - Thread sync lock object + + Get the ID of the owner - - The event subscribers. null if no subcribers + + Get the ID of the Object - - Raises the GroupMemberEjected event - An GroupMemberEjectedEventArgs object containing the - data returned from the simulator + + 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 - - Raises the GroupNoticesListReply event - An GroupNoticesListReplyEventArgs object containing the - data returned from the simulator + + Up Orientation (Y axis) of the position - - Thread sync lock object + + Left Orientation (Z axis) of the position - - The event subscribers. null if no subcribers + + + Contains all mesh faces that belong to a prim + - - Raises the GroupInvitation event - An GroupInvitationEventArgs object containing the - data returned from the simulator + + List of primitive faces - - Thread sync lock object + + + 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 - - A reference to the current instance + + + Type of gesture step + - - Currently-active group members requests + + + Base class for gesture steps + - - Currently-active group roles requests + + + Retururns what kind of gesture step this is + - - Currently-active group role-member requests + + + Describes animation step of a gesture + - - Dictionary keeping group members while request is in progress + + + If true, this step represents start of animation, otherwise animation stop + - - Dictionary keeping mebmer/role mapping while request is in progress + + + Animation asset + - - Dictionary keeping GroupRole information while request is in progress + + + Animation inventory name + - - Caches group name lookups + + + Returns what kind of gesture step this is + - + + + Describes sound step of a gesture + + + - Construct a new instance of the GroupManager class + Sound asset - A reference to the current instance - + - Request a current list of groups the avatar is a member of. + Sound inventory name - CAPS Event Queue must be running for this to work since the results - come across CAPS. - + - Lookup name of group based on groupID + Returns what kind of gesture step this is - groupID of group to lookup name for. - + - Request lookup of multiple group names + Describes sound step of a gesture - 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) + + + Text to output in chat + - - 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 + + + Returns what kind of gesture step this is + - - Request group roles - Subscribe to OnGroupRoles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + + Describes sound step of a gesture + - - 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 + + + If true in this step we wait for all animations to finish + - - Request a groups Titles - Subscribe to OnGroupTitles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + + If true gesture player should wait for the specified amount of time + - - 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) + + + Time in seconds to wait if WaitForAnimation is false + - - 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 + + + Returns what kind of gesture step this is + - - Set a group as the current active group - group ID (UUID) + + + Describes the final step of a gesture + - - Change the role that determines your active title - Group ID to use - Role ID to change to + + + Returns what kind of gesture step this is + - - Set this avatar's tier contribution - Group ID to change tier in - amount of tier to donate + + + Represents a sequence of animations, sounds, and chat actions + - + - Save wheather agent wants to accept group notices and list this group in their profile + Keyboard key that triggers the gestyre - 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. + + + Modifier to the trigger key + - + - Request to create a new group. If the group is successfully - created, L$100 will automatically be deducted + String that triggers playing of the gesture sequence - 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. + + + Text that replaces trigger in chat once gesture is triggered + - - Eject a user from a group - Group ID to eject the user from - Avatar's key to eject + + + Sequence of gesture steps + - - Update role information - Modified role to be updated + + + Constructs guesture asset + - - Create a new group role - Group ID to update - Role to create + + + Constructs guesture asset + + A unique specific to this asset + A byte array containing the raw asset data - - Delete a group role - Group ID to update - Role to delete + + + Encodes gesture asset suitable for uplaod + - - Remove an avatar from a role - Group ID to update - Role ID to be removed from - Avatar's Key to remove + + + Decodes gesture assset into play sequence + + true if the asset data was decoded successfully - - Assign an avatar to a role - Group ID to update - Role ID to assign to - Avatar's ID to assign to role + + + Returns asset type + - - Request the group notices list - Group ID to fetch notices for + + + Type of return to use when returning objects from a parcel + - - Request a group notice by key - ID of group notice + + - - Send out a group notice - Group ID to update - GroupNotice structure containing notice data + + Return objects owned by parcel owner - - Start a group proposal (vote) - The Group ID to send proposal to - GroupProposal structure containing the proposal + + Return objects set to group - - Request to leave a group - Subscribe to OnGroupLeft event to receive confirmation - The group to leave + + 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 + + + Blacklist/Whitelist flags used in parcels Access List + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Agent is denied access - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Agent is granted access - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + The result of a request for parcel properties + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + No matches were found for the request - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Request matched a single parcel - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Request matched multiple parcels - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Flags used in the ParcelAccessListRequest packet to specify whether + we want the access list (whitelist), ban list (blacklist), or both + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Request the access list - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Request the ban list - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Request both White and Black lists - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Sequence ID in ParcelPropertiesReply packets (sent when avatar + tries to cross a parcel border) + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Parcel is currently selected - - Raised when the simulator sends us data containing - our current group membership + + Parcel restricted to a group the avatar is not a + member of - - Raised when the simulator responds to a RequestGroupName - or RequestGroupNames request + + Avatar is banned from the parcel - - Raised when the simulator responds to a request + + Parcel is restricted to an access list that the + avatar is not on - - Raised when the simulator responds to a request + + Response to hovering over a parcel - - Raised when the simulator responds to a request + + + The tool to use when modifying terrain levels + - - Raised when the simulator responds to a request + + Level the terrain - - Raised when the simulator responds to a request + + Raise the terrain - - Raised when a response to a RequestGroupAccountSummary is returned - by the simulator + + Lower the terrain - - Raised when a request to create a group is successful + + Smooth the terrain - - Raised when a request to join a group either - fails or succeeds + + Add random noise to the terrain - - Raised when a request to leave a group either - fails or succeeds + + Revert terrain to simulator default - - Raised when A group is removed from the group server + + + The tool size to use when changing terrain levels + - - Raised when a request to eject a member from a group either - fails or succeeds + + Small - - Raised when the simulator sends us group notices - + + Medium - - Raised when another agent invites our avatar to join a group + + Large - - Contains the current groups your agent is a member of + + + Reasons agent is denied access to a parcel on the simulator + - - Construct a new instance of the CurrentGroupsEventArgs class - The current groups your agent is a member of + + Agent is not denied, access is granted - - Get the current groups your agent is a member of + + Agent is not a member of the group set for the parcel, or which owns the parcel - - A Dictionary of group names, where the Key is the groups ID and the value is the groups name + + Agent is not on the parcels specific allow list - - Construct a new instance of the GroupNamesEventArgs class - The Group names dictionary + + Agent is on the parcels ban list - - Get the Group Names dictionary + + Unknown - - Represents the members of a group + + Agent is not age verified and parcel settings deny access to non age verified avatars - + - Construct a new instance of the GroupMembersReplyEventArgs class + 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 - The ID of the request - The ID of the group - The membership list of the group + 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 - - Get the ID as returned by the request to correlate - this result set and the request + + Public land - - Get the ID of the group + + Land is owned by another avatar - - Get the dictionary of members + + Land is owned by a group - - Represents the roles associated with a group + + Land is owned by the current avatar - - 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 + + Land is for sale - - Get the ID as returned by the request to correlate - this result set and the request + + Land is being auctioned - - Get the ID of the group + + Land is private - - Get the dictionary containing the roles + + To the west of this area is a parcel border - - Represents the Role to Member mappings for a group + + To the south of this area is a parcel border - - 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 + + + Various parcel properties + - - Get the ID as returned by the request to correlate - this result set and the request + + No flags set - - Get the ID of the group + + 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 - - Get the member to roles map + + Foreign avatars can create objects here - - Represents the titles for a group + + All objects on this parcel can be purchased - - 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 + + Access is restricted to a group - - Get the ID as returned by the request to correlate - this result set and the request + + Access is restricted to a whitelist - - Get the ID of the group + + Ban blacklist is enabled - - Get the titles + + Unknown - - Represents the summary data for a group + + List this parcel in the search directory - - Construct a new instance of the GroupAccountSummaryReplyEventArgs class - The ID of the group - The summary data + + Allow personally owned parcels to be deeded to group - - Get the ID of the group + + If Deeded, owner contributes required tier to group parcel is deeded to - - Get the summary data + + Restrict sounds originating on this parcel to the + parcel boundaries - - A response to a group create request + + Objects on this parcel are sold when the land is + purchsaed - - 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 + + Allow this parcel to be published on the web - - Get the ID of the group + + The information for this parcel is mature content - - true of the group was created successfully + + The media URL is an HTML page - - A string containing the message + + The media URL is a raw HTML string - - Represents a response to a request + + Restrict foreign object pushes - - Construct a new instance of the GroupOperationEventArgs class - The ID of the group - true of the request was successful + + Ban all non identified/transacted avatars - - Get the ID of the group + + Allow group-owned scripts to run - - true of the request was successful + + Allow object creation by group members or group + objects - - Represents your agent leaving a group + + Allow all objects to enter this parcel - - Construct a new instance of the GroupDroppedEventArgs class - The ID of the group + + Only allow group and owner objects to enter this parcel - - Get the ID of the group + + Voice Enabled on this parcel - - Represents a list of active group notices + + Use Estate Voice channel for Voice on this parcel - - Construct a new instance of the GroupNoticesListReplyEventArgs class - The ID of the group - The list containing active notices + + Deny Age Unverified Users - - Get the ID of the group + + + Parcel ownership status + - - Get the notices list + + Placeholder - - Represents the profile of a group + + Parcel is leased (owned) by an avatar or group - - Construct a new instance of the GroupProfileEventArgs class - The group profile + + Parcel is in process of being leased (purchased) by an avatar or group - - Get the group profile + + Parcel has been abandoned back to Governor Linden - + - Provides notification of a group invitation request sent by another Avatar + Category parcel is listed in under search - 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 + + No assigned category - - The name of the Avatar sending the group invitation + + Linden Infohub or public area - - A message containing the request information which includes - the name of the group, the groups charter and the fee to join details + + Adult themed area - - The Simulator + + Arts and Culture - - Set to true to accept invitation, false to decline + + Business - - - Level of Detail mesh - + + Educational - - - Represents an that can be worn on an avatar - such as a Shirt, Pants, etc. - + + Gaming - - Initializes a new instance of an AssetScriptBinary object + + Hangout or Club - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + Newcomer friendly - - Override the base classes AssetType + + Parks and Nature - - - Temporary code to do the bare minimum required to read a tar archive for our purposes - + + Residential - - - Binary reader for the underlying stream - + + Shopping - - - Used to trim off null chars - + + Not Used? - - - Used to trim off space chars - + + Other - - - Generate a tar reader which reads from the given stream. - - + + Not an actual category, only used for queries - + - Read the next entry in the tar file. + Type of teleport landing for a parcel - - - 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. + + Unset, simulator default - - - Read data following a header - - - + + Specific landing point set for this parcel - - - Convert octal bytes to a decimal representation - - - - - + + No landing point set, direct teleports enabled for + this parcel - + - Type of return to use when returning objects from a parcel + Parcel Media Command used in ParcelMediaCommandMessage - - + + Stop the media stream and go back to the first frame - - Return objects owned by parcel owner + + Pause the media stream (stop playing but stay on current frame) - - Return objects set to group + + Start the current media stream playing and stop when the end is reached - - Return objects not owned by parcel owner or set to group + + Start the current media stream playing, + loop to the beginning when the end is reached and continue to play - - Return a specific list of objects on parcel + + 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. - - Return objects that are marked for-sale + + Specifies the movie URL (254 characters max) - - - Blacklist/Whitelist flags used in parcels Access List - + + Specifies the time index at which to begin playing - - Agent is denied access + + Specifies a single agent to apply the media command to - - Agent is granted access + + 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 result of a request for parcel properties - + + 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. - - No matches were found for the request + + Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). + Use "text/html" for HTML. - - Request matched a single parcel + + Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). + This might still not be working - - Request matched multiple parcels + + Sets a description for the media being displayed (1.19.1 RC0 and later only). - + - Flags used in the ParcelAccessListRequest packet to specify whether - we want the access list (whitelist), ban list (blacklist), or both + Some information about a parcel of land returned from a DirectoryManager search - - Request the access list - - - Request the ban list + + Global Key of record - - Request both White and Black lists + + Parcel Owners - - - Sequence ID in ParcelPropertiesReply packets (sent when avatar - tries to cross a parcel border) - + + Name field of parcel, limited to 128 characters - - Parcel is currently selected + + Description field of parcel, limited to 256 characters - - Parcel restricted to a group the avatar is not a - member of + + Total Square meters of parcel - - Avatar is banned from the parcel + + Total area billable as Tier, for group owned land this will be 10% less than ActualArea - - Parcel is restricted to an access list that the - avatar is not on + + True of parcel is in Mature simulator - - Response to hovering over a parcel + + Grid global X position of parcel - - - The tool to use when modifying terrain levels - + + Grid global Y position of parcel - - Level the terrain + + Grid global Z position of parcel (not used) - - Raise the terrain + + Name of simulator parcel is located in - - Lower the terrain + + Texture of parcels display picture - - Smooth the terrain + + Float representing calculated traffic based on time spent on parcel by avatars - - Add random noise to the terrain + + Sale price of parcel (not used) - - Revert terrain to simulator default + + Auction ID of parcel - + - The tool size to use when changing terrain levels + Parcel Media Information - - Small - - - Medium - - - Large + + A byte, if 0x1 viewer should auto scale media to fit object - - - Reasons agent is denied access to a parcel on the simulator - + + A boolean, if true the viewer should loop the media - - Agent is not denied, access is granted + + The Asset UUID of the Texture which when applied to a + primitive will display the media - - Agent is not a member of the group set for the parcel, or which owns the parcel + + A URL which points to any Quicktime supported media type - - Agent is not on the parcels specific allow list + + A description of the media - - Agent is on the parcels ban list + + An Integer which represents the height of the media - - Unknown + + An integer which represents the width of the media - - Agent is not age verified and parcel settings deny access to non age verified avatars + + A string which contains the mime type of the media - + - 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 + Parcel of land, a portion of virtual real estate in a simulator - 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 total number of contiguous 4x4 meter blocks your agent owns within this parcel - - Land is owned by another avatar + + The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own - - Land is owned by a group + + Deprecated, Value appears to always be 0 - - Land is owned by the current avatar + + Simulator-local ID of this parcel - - Land is for sale + + UUID of the owner of this parcel - - Land is being auctioned + + Whether the land is deeded to a group or not - - Land is private + + - - To the west of this area is a parcel border + + Date land was claimed - - To the south of this area is a parcel border + + Appears to always be zero - - - Various parcel properties - + + This field is no longer used - - No flags set + + Minimum corner of the axis-aligned bounding box for this + parcel - - Allow avatars to fly (a client-side only restriction) + + Maximum corner of the axis-aligned bounding box for this + parcel + + + Bitmap describing land layout in 4x4m squares across the + entire region - - Allow foreign scripts to run + + Total parcel land area - - This parcel is for sale + + - - Allow avatars to create a landmark on this parcel + + Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used - - Allows all avatars to edit the terrain on this parcel + + 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 - - Avatars have health and can take damage on this parcel. - If set, avatars can be killed and sent home here + + Maximum number of primitives this parcel supports - - Foreign avatars can create objects here + + Total number of primitives on this parcel - - All objects on this parcel can be purchased + + 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 - - Access is restricted to a group + + 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. - - Access is restricted to a whitelist + + Total number of prims owned by other avatars that are not set to group, or not the parcel owner - - Ban blacklist is enabled + + 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 - - Unknown + + Autoreturn value in minutes for others' objects - - List this parcel in the search directory + + - - Allow personally owned parcels to be deeded to group + + 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 - - If Deeded, owner contributes required tier to group parcel is deeded to + + Parcel Name - - Restrict sounds originating on this parcel to the - parcel boundaries + + Parcel Description - - Objects on this parcel are sold when the land is - purchsaed + + URL For Music Stream - - Allow this parcel to be published on the web + + - - The information for this parcel is mature content + + Price for a temporary pass - - The media URL is an HTML page + + How long is pass valid for - - The media URL is a raw HTML string + + - - Restrict foreign object pushes + + Key of authorized buyer - - Ban all non identified/transacted avatars + + Key of parcel snapshot - - Allow group-owned scripts to run + + The landing point location - - Allow object creation by group members or group - objects + + The landing point LookAt - - Allow all objects to enter this parcel + + The type of landing enforced from the enum - - 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 + + Access list of who is whitelisted on this + parcel - - - Parcel ownership status - + + Access list of who is blacklisted on this + parcel - - Placeholder + + TRUE of region denies access to age unverified users - - Parcel is leased (owned) by an avatar or group + + true to obscure (hide) media url - - Parcel is in process of being leased (purchased) by an avatar or group + + true to obscure (hide) music url - - Parcel has been abandoned back to Governor Linden + + A struct containing media details - + - Category parcel is listed in under search + Displays a parcel object in string format + string containing key=value pairs of a parcel object - - No assigned category + + + Defalt constructor + + Local ID of this parcel - - Linden Infohub or public area + + + 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 - - Adult themed area + + + Set Autoreturn time + + Simulator to send the update to - - Arts and Culture + + + Parcel (subdivided simulator lots) subsystem + - - Business + + The event subscribers. null if no subcribers - - Educational + + Raises the ParcelDwellReply event + A ParcelDwellReplyEventArgs object containing the + data returned from the simulator - - Gaming + + Thread sync lock object - - Hangout or Club + + The event subscribers. null if no subcribers - - Newcomer friendly + + Raises the ParcelInfoReply event + A ParcelInfoReplyEventArgs object containing the + data returned from the simulator - - Parks and Nature + + Thread sync lock object - - Residential + + The event subscribers. null if no subcribers - - Shopping + + Raises the ParcelProperties event + A ParcelPropertiesEventArgs object containing the + data returned from the simulator - - Not Used? + + Thread sync lock object - - Other + + The event subscribers. null if no subcribers - - Not an actual category, only used for queries + + Raises the ParcelAccessListReply event + A ParcelAccessListReplyEventArgs object containing the + data returned from the simulator - - - Type of teleport landing for a parcel - + + Thread sync lock object - - Unset, simulator default + + The event subscribers. null if no subcribers - - Specific landing point set for this parcel + + Raises the ParcelObjectOwnersReply event + A ParcelObjectOwnersReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object - - No landing point set, direct teleports enabled for - this parcel + + The event subscribers. null if no subcribers - - - Parcel Media Command used in ParcelMediaCommandMessage - + + Raises the SimParcelsDownloaded event + A SimParcelsDownloadedEventArgs object containing the + data returned from the simulator - - Stop the media stream and go back to the first frame + + Thread sync lock object - - Pause the media stream (stop playing but stay on current frame) + + The event subscribers. null if no subcribers - - Start the current media stream playing and stop when the end is reached + + Raises the ForceSelectObjectsReply event + A ForceSelectObjectsReplyEventArgs object containing the + data returned 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. + + The event subscribers. null if no subcribers - - Specifies the movie URL (254 characters max) + + Raises the ParcelMediaUpdateReply event + A ParcelMediaUpdateReplyEventArgs object containing the + data returned from the simulator - - Specifies the time index at which to begin playing + + Thread sync lock object - - Specifies a single agent to apply the media command to + + The event subscribers. null if no subcribers - - 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. + + Raises the ParcelMediaCommand event + A ParcelMediaCommandEventArgs object containing the + data returned from the simulator - - 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. + + Thread sync lock object - - Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). - Use "text/html" for HTML. + + + Default constructor + + A reference to the GridClient object - - Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). - This might still not be working + + + Request basic information for a single parcel + + Simulator-local ID of the parcel - - Sets a description for the media being displayed (1.19.1 RC0 and later only). + + + 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 - + - Some information about a parcel of land returned from a DirectoryManager search + 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 + - - Global Key of record + + + 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 - - Parcel Owners + + + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) + + Simulator to request parcels from (must be connected) - - Name field of parcel, limited to 128 characters + + + 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 - - Description field of parcel, limited to 256 characters + + + Request the dwell value for a parcel + + Simulator containing the parcel + Simulator-local ID of the parcel - - Total Square meters of 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 + - - Total area billable as Tier, for group owned land this will be 10% less than ActualArea + + + Reclaim a parcel of land + + The simulator the parcel is in + The parcels region specific local ID - - True of parcel is in Mature simulator + + + Deed a parcel to a group + + The simulator the parcel is in + The parcels region specific local ID + The groups - - Grid global X position of parcel + + + Request prim owners of a parcel of land. + + Simulator parcel is in + The parcels region specific local ID - - Grid global Y position of parcel + + + 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 - - Grid global Z position of parcel (not used) + + + Subdivide (split) a parcel + + + + + + - - Name of simulator parcel is located in + + + Join two parcels of land creating a single parcel + + + + + + - - Texture of parcels display picture + + + 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. - - Float representing calculated traffic based on time spent on parcel by 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 + 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() - - Sale price of parcel (not used) + + + 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() - - Auction ID of parcel + + + 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() - + - Parcel Media Information + 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 - - A byte, if 0x1 viewer should auto scale media to fit 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 - - A boolean, if true the viewer should loop the media + + + Eject and optionally ban a user from a parcel + + target key of avatar to eject + true to also ban target - - The Asset UUID of the Texture which when applied to a - primitive will display the media + + + Freeze or unfreeze an avatar over your land + + target key to freeze + true to freeze, false to unfreeze - - A URL which points to any Quicktime supported media type + + + Abandon a parcel of land + + Simulator parcel is in + Simulator local ID of parcel - - A description of the media + + + 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 - - An Integer which represents the height of the media + + + 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 - - An integer which represents the width of the media + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - A string which contains the mime type of the media + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - - Parcel of land, a portion of virtual real estate in a simulator - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - 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 + Raises the event - - 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 + Raises the event - - 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 + Raises the event - - UUID of the owner of this parcel + + Raised when the simulator responds to a request - - Whether the land is deeded to a group or not + + Raised when the simulator responds to a request - - + + Raised when the simulator responds to a request - - Date land was claimed + + Raised when the simulator responds to a request - - Appears to always be zero + + Raised when the simulator responds to a request - - This field is no longer used + + Raised when the simulator responds to a request - - Minimum corner of the axis-aligned bounding box for this - parcel + + Raised when the simulator responds to a request - - Maximum corner of the axis-aligned bounding box for this - parcel + + Raised when the simulator responds to a Parcel Update request - - Bitmap describing land layout in 4x4m squares across the - entire region + + Raised when the parcel your agent is located sends a ParcelMediaCommand - - Total parcel land area + + + Parcel Accesslist + - + + Agents + + - - Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used + + Flags for specific entry in white/black lists - - 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 + + + Owners of primitives on parcel + - - Maximum number of primitives this parcel supports + + Prim Owners - - Total number of primitives on this parcel + + True of owner is group - - 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 count of prims owned by OwnerID - - 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. + + true of OwnerID is currently online and is not a group - - Total number of prims owned by other avatars that are not set to group, or not the parcel owner + + The date of the most recent prim left by OwnerID - - 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 + + + Called once parcel resource usage information has been collected + + Indicates if operation was successfull + Parcel resource usage information - - Autoreturn value in minutes for others' objects + + 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 - - 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 + + Get the global ID of the parcel - - Parcel Name + + Get the simulator specific ID of the parcel - - Parcel Description + + Get the calculated dwell - - URL For Music Stream + + 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 - - Price for a temporary pass + + Get the object containing basic parcel info - - How long is pass valid for + + 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: - - Key of authorized buyer + + Get the simulator the parcel is located in - - Key of parcel snapshot + + Get the object containing the details + If Result is NoData, this object will not contain valid data - - The landing point location + + Get the result of the request - - The landing point LookAt + + Get the number of primitieves your agent is + currently selecting and or sitting on in this parcel - - The type of landing enforced from the enum + + 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 - - Access list of who is whitelisted on this - parcel + + Get the simulator the parcel is located in - - Access list of who is blacklisted on this - parcel + + Get the user assigned ID used to correlate a request with + these results - - TRUE of region denies access to age unverified users + + Get the simulator specific ID of the parcel - - true to obscure (hide) media url + + TODO: - - true to obscure (hide) music url + + Get the list containing the white/blacklisted agents for the parcel - - A struct containing media details + + Contains blacklist and whitelist data returned from the + simulator in response to an request - + - Displays a parcel object in string format + Construct a new instance of the ParcelObjectOwnersReplyEventArgs class - string containing key=value pairs of a parcel object + The simulator the parcel is located in + The list containing prim ownership counts - - - Defalt constructor - - Local ID of this parcel + + Get the simulator the parcel is located in - - - 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 + + Get the list containing prim ownership counts - - - Set Autoreturn time - - Simulator to send the update to + + Contains the data returned when all parcel data has been retrieved from a simulator - + - Parcel (subdivided simulator lots) subsystem + 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. - - 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 + + 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 - - Raises the ParcelInfoReply event - A ParcelInfoReplyEventArgs object containing the - data returned from the simulator + + Get the multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. - - Thread sync lock object + + Contains the data returned when a request - - The event subscribers. null if no subcribers + + + 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 ParcelProperties event - A ParcelPropertiesEventArgs object containing the - data returned from the simulator + + 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 - - Raises the ParcelAccessListReply event - A ParcelAccessListReplyEventArgs object containing the - data returned from the simulator + + Contains data when the media data for a parcel the avatar is on changes - - Thread sync lock object + + + Construct a new instance of the ParcelMediaUpdateReplyEventArgs class + + the simulator the parcel media data was updated in + The updated media information - - The event subscribers. null if no subcribers + + Get the simulator the parcel media data was updated in - - Raises the ParcelObjectOwnersReply event - A ParcelObjectOwnersReplyEventArgs object containing the - data returned from the simulator + + 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 + - - Raises the SimParcelsDownloaded event - A SimParcelsDownloadedEventArgs object containing the - data returned from the simulator + + Get the simulator the parcel media command was issued in - - 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 + + Get the media command that was sent - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + + A Name Value pair with additional settings, used in the protocol + primarily to transmit avatar names and active group in object packets + - - 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 + Constructor that takes all the fields as parameters - A reference to the GridClient object + + + + + - + - Request basic information for a single parcel + Constructor that takes a single line from a NameValue field - 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 + + Type of the value - - - 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 - + + Unknown - - - 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 + + String value - - - 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 + + Deprecated - - - Deed a parcel to a group - - The simulator the parcel is in - The parcels region specific local ID - The groups + + String value, but designated as an asset - - - 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 + Level of Detail mesh - 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 + Temporary code to produce a tar archive in tar v7 format - 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 + Binary writer for the underlying stream - target key of avatar to eject - true to also ban target - + - Freeze or unfreeze an avatar over your land + Write a directory entry to the tar archive. We can only handle one path level right now! - target key to freeze - true to freeze, false to unfreeze + - + - Abandon a parcel of land + Write a file to the tar archive - Simulator parcel is in - Simulator local ID of parcel + + - + - Requests the UUID of the parcel in a remote region at a specified location + Write a file to the tar archive - 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 + Finish writing the raw tar archive data to a stream. The stream will be closed on completion. - 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 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 + + + Write a particular entry + + + + - + - Parcel Accesslist + Temporary code to do the bare minimum required to read a tar archive for our purposes - - Agents + + + Binary reader for the underlying stream + - - + + + Used to trim off null chars + - - Flags for specific entry in white/black lists + + + Used to trim off space chars + - + - Owners of primitives on parcel + Generate a tar reader which reads from the given stream. + - - Prim Owners + + + Read the next entry in the tar file. + + + + the data for the entry. Returns null if there are no more entries - - True of owner is group + + + 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. - - Total count of prims owned by OwnerID + + + Read data following a header + + + - - true of OwnerID is currently online and is not a group + + + Convert octal bytes to a decimal representation + + + + + - - The date of the most recent prim left by OwnerID + + + Operation to apply when applying color to texture + - + - Called once parcel resource usage information has been collected + Information needed to translate visual param value to RGBA color - Indicates if operation was successfull - Parcel resource usage information - - Contains a parcels dwell data returned from the simulator in response to an + + + Construct VisualColorParam + + Operation to apply when applying color to texture + Colors - + - Construct a new instance of the ParcelDwellReplyEventArgs class + Represents alpha blending and bump infor for a visual parameter + such as sleive length - 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 + + Stregth of the alpha to apply - - Get the simulator specific ID of the parcel + + File containing the alpha channel - - Get the calculated dwell + + Skip blending if parameter value is 0 - - Contains basic parcel information data returned from the - simulator in response to an request + + Use miltiply insted of alpha blending - + - Construct a new instance of the ParcelInfoReplyEventArgs class + Create new alhpa information for a visual param - 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 + 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 ParcelPropertiesEventArgs class + A single visual characteristic of an avatar mesh, such as eyebrow height - 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 + + Index of this visual param - - Get the object containing the details - If Result is NoData, this object will not contain valid data + + Internal name - - Get the result of the request + + Group ID this parameter belongs to - - Get the number of primitieves your agent is - currently selecting and or sitting on in this parcel + + Name of the wearable this parameter belongs to - - Get the user assigned ID used to correlate a request with - these results + + Displayable label of this characteristic - - TODO: + + Displayable label for the minimum value of this characteristic - - Contains blacklist and whitelist data returned from the simulator in response to an request + + Displayable label for the maximum value of this characteristic - - - 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 + + Default value - - Get the simulator the parcel is located in + + Minimum value - - Get the user assigned ID used to correlate a request with - these results + + Maximum value - - Get the simulator specific ID of the parcel + + Is this param used for creation of bump layer? - - TODO: + + Alpha blending/bump info - - Get the list containing the white/blacklisted agents for the parcel + + Color information - - Contains blacklist and whitelist data returned from the - simulator in response to an request + + Array of param IDs that are drivers for this parameter - + - Construct a new instance of the ParcelObjectOwnersReplyEventArgs class + Set all the values through the constructor - The simulator the parcel is located in - The list containing prim ownership counts - - - Get the simulator the parcel is located in + 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 - - Get the list containing prim ownership counts + + + Holds the Params array of all the avatar appearance parameters + - - Contains the data returned when all parcel data has been retrieved from a simulator + + + + - + - Construct a new instance of the SimParcelsDownloadedEventArgs class + Initialize the UDP packet handler in server mode - 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. + Port to listening for incoming UDP packets on - - Get the simulator the parcel data was retrieved from + + + Initialize the UDP packet handler in client mode + + Remote UDP server to connect to - - 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 + Static helper functions and global variables - 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 + + This header flag signals that ACKs are appended to the packet - - Get the list of primitive IDs + + This header flag signals that this packet has been sent before - - true if the list is clean and contains the information - only for a given request + + This header flags signals that an ACK is expected for this packet - - Contains data when the media data for a parcel the avatar is on changes + + This header flag signals that the message is compressed using zerocoding - + - 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 + + + + + + - - + + + + + + + - - + + + 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 - - Get the media command that was sent + + + 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 - + - A Name Value pair with additional settings, used in the protocol - primarily to transmit avatar names and active group in object packets + 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 - + - Constructor that takes all the fields as parameters + 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 - + - Constructor that takes a single line from a NameValue field + 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 - - Type of the value + + + 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); + } + + - - Unknown + + + Passed to Logger.Log() to identify the severity of a log entry + - - String value + + 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. + - - Deprecated + + = - - String value, but designated as an asset + + Number of times we've received an unknown CAPS exception in series. - - + + For exponential backoff on error. - + - + The type of bump-mapping applied to a face - + - + - + - + - - - - - - + - + - + - + - + - - - 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 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 + + - + - Temporary code to produce a tar archive in tar v7 format + The level of shininess applied to a face - - - 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. + The texture mapping style used for a face - - - Write a particular entry - - - - + + - - - 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 + Flags in the TextureEntry block that describe which properties are + set - - 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 + + + 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 + - - Minimum value + + - - Maximum value + + + 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 - - Is this param used for creation of bump layer? + + + Pack a floating point value in to the data + + Floating point value to pack - - Alpha blending/bump info + + + 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 - - Color information + + + 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 - - Array of param IDs that are drivers for this parameter + + + Pack a single bit in to the data + + Bit to pack - + - 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 + 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 - Port to listening for incoming UDP packets on + Number of bits to unpack + An integer containing the unpacked bits + This function is only useful up to 32 bits - + - Initialize the UDP packet handler in client mode + Unpack a variable number of bits from the data in to unsigned + integer format - Remote UDP server to connect to + 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 - + - The type of bump-mapping applied to a face + Unpack a 32-bit unsigned integer + 32-bit unsigned integer - - - - - - - + - + - - + + + 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 - + - The level of shininess applied to a face + 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 - - - The texture mapping style used for a face - + + Accepted inventory offer - - + + Declined inventory offer - - + + Group vote - - + + An object is offering its inventory - - + + Accept an inventory offer from an object - - - Flags in the TextureEntry block that describe which properties are - set - + + 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 - + - Represents an Animation + Flag in Instant Messages, whether the IM should be delivered to + offline avatars as well - - Default Constructor + + 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 + + - Construct an Asset object of type Animation + Conversion type to denote Chat Packet types in an easier-to-understand format - A unique specific to this asset - A byte array containing the raw asset data - - Override the base classes AssetType + + Whisper (5m radius) - - - Static helper functions and global variables - + + Normal chat (10/20m radius), what the official viewer typically sends - - This header flag signals that ACKs are appended to the packet + + Shouting! (100m radius) - - This header flag signals that this packet has been sent before + + Event message when an Avatar has begun to type - - This header flags signals that an ACK is expected for this packet + + Event message when an Avatar has stopped typing - - This header flag signals that the message is compressed using zerocoding + + 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 + + - - - - - - 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 + Effect type used in ViewerEffect packets - 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 - + + Project a beam from a source to a destination, such as + the one used when editing an object - - No logging information will be output + + + + + + + + + + + Create a swirl of particles around an object - - 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 + + Cause an avatar to look at an object - - 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. - + + Cause an avatar to point at an object - + - Checks the instance back into the object pool + The action an avatar is doing when looking at something, used in + ViewerEffect packets for the LookAt effect - - - 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. + + Deprecated - - - 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 action an avatar is doing when pointing at something, used in + ViewerEffect packets for the PointAt effect - - - 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 + Money transaction types - 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 + + + 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 of the creator of this item + + No Flags set - - A Description of this item + + Forward (W or up Arrow) - - The s this item is set to or owned by + + Back (S or down arrow) - - If true, item is owned by a group + + Move left (shift+A or left arrow) - - The price this item can be purchased for + + Move right (shift+D or right arrow) - - The type of sale from the enum + + Up (E or PgUp) - - Combined flags from + + Down (C or PgDown) - - Time and date this inventory item was created, stored as - UTC (Coordinated Universal Time) + + Rotate left (A or left arrow) - - Used to update the AssetID in requests sent to the server + + Rotate right (D or right arrow) - - The of the previous owner of the item + + Left Mouse Button - - - Construct a new InventoryItem object - - The of the item + + Left Mouse button in MouseLook - + - Construct a new InventoryItem object of a specific Type + Currently only used to hide your group title - 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 + + No flags set - - - - - + + Hide your group title - + - + Action state of the avatar, which can currently be typing and + editing - - - - 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 + Current teleport status - The object to compare against - true if objects are the same - - - Create InventoryItem from OSD - - OSD Data that makes up InventoryItem - Inventory item created + + Unknown status - - - Convert InventoryItem to OSD - - OSD representation of InventoryItem + + Teleport initialized - - - InventoryTexture Class representing a graphical image - - + + Teleport in progress - - - Construct an InventoryTexture object - - A which becomes the - objects AssetUUID + + Teleport failed - - - Construct an InventoryTexture object from a serialization stream - + + Teleport completed - - - InventorySound Class representing a playable sound - + + Teleport cancelled - + - Construct an InventorySound object + - A which becomes the - objects AssetUUID - - - Construct an InventorySound object from a serialization stream - + + No flags set, or teleport failed - - - InventoryCallingCard Class, contains information on another avatar - + + Set when newbie leaves help island for first time - - - Construct an InventoryCallingCard object - - A which becomes the - objects AssetUUID + + - - - Construct an InventoryCallingCard object from a serialization stream - + + Via Lure - - - InventoryLandmark Class, contains details on a specific location - + + Via Landmark - - - Construct an InventoryLandmark object - - A which becomes the - objects AssetUUID + + Via Location - - - Construct an InventoryLandmark object from a serialization stream - + + Via Home - - - Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited - + + Via Telehub - - - InventoryObject Class contains details on a primitive or coalesced set of primitives - + + Via Login - - - Construct an InventoryObject object - - A which becomes the - objects AssetUUID + + Linden Summoned - - - Construct an InventoryObject object from a serialization stream - + + Linden Forced me - - - Gets or sets the upper byte of the Flags value - + + - - - Gets or sets the object attachment point, the lower byte of the Flags value - + + Agent Teleported Home via Script - - - 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 - + + + + + forced to new location for example when avatar is banned or ejected + + + Teleport Finished via a Lure + + + Finished, Sim Changed + + + Finished, Same Sim - + - 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 + Type of mute entry - - - Construct an InventoryAttachment object - - A which becomes the - objects AssetUUID + + Object muted by name - - - Construct an InventoryAttachment object from a serialization stream - + + Muted residet - - - Get the last AttachmentPoint this object was attached to - + + Object muted by UUID - - - InventoryWearable Class, details on a clothing item or body part - + + Muted group - - - Construct an InventoryWearable object - - A which becomes the - objects AssetUUID + + Muted external entry - + - Construct an InventoryWearable object from a serialization stream + Flags of mute entry - - - The , Skin, Shape, Skirt, Etc - + + No exceptions - - - InventoryAnimation Class, A bvh encoded object which animates an avatar - + + Don't mute text chat - - - Construct an InventoryAnimation object - - A which becomes the - objects AssetUUID + + Don't mute voice chat - - - Construct an InventoryAnimation object from a serialization stream - + + Don't mute particles - - - InventoryGesture Class, details on a series of animations, sounds, and actions - + + Don't mute sounds - - - Construct an InventoryGesture object - - A which becomes the - objects AssetUUID + + Don't mute - + - Construct an InventoryGesture object from a serialization stream + Instant Message - - - A folder contains s and has certain attributes specific - to itself - + + Key of sender - - The Preferred for a folder. + + Name of sender - - The Version of this folder + + Key of destination avatar - - Number of child items this folder contains. + + ID of originating estate - - - Constructor - - UUID of the folder + + Key of originating region - - - - - + + Coordinates in originating region - - - Get Serilization data for this InventoryFolder object - + + Instant message type - - - Construct an InventoryFolder object from a serialization stream - + + 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 - - - Create InventoryFolder from OSD - - OSD Data that makes up InventoryFolder - Inventory folder created + + Context specific packed data - - - Convert InventoryItem to OSD - - OSD representation of InventoryItem + + 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 - - - Tools for dealing with agents inventory - + + UUID of the transaction source - - Used for converting shadow_id to asset_id + + Is the transaction source a group - - The event subscribers, null of no subscribers + + UUID of the transaction destination - - Raises the ItemReceived Event - A ItemReceivedEventArgs object containing - the data sent from the simulator + + Is transaction destination a group - - Thread sync lock object + + Transaction amount - - The event subscribers, null of no subscribers + + Transaction description - - Raises the FolderUpdated Event - A FolderUpdatedEventArgs object containing - the data sent from the simulator + + + + - - Thread sync lock object + + + 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 event subscribers, null of no subscribers + + Get the simulator sending the message - - Raises the InventoryObjectOffered Event - A InventoryObjectOfferedEventArgs object containing - the data sent from the simulator + + Get the message sent - - Thread sync lock object + + Get the audible level of the message - - The event subscribers, null of no subscribers + + Get the type of message sent: whisper, shout, etc - - Raises the TaskItemReceived Event - A TaskItemReceivedEventArgs object containing - the data sent from the simulator + + Get the source type of the message sender - - Thread sync lock object + + Get the name of the agent or object sending the message - - The event subscribers, null of no subscribers + + Get the ID of the agent or object sending the message - - Raises the FindObjectByPath Event - A FindObjectByPathEventArgs object containing - the data sent from the simulator + + Get the ID of the object owner, or the agent ID sending the message - - Thread sync lock object + + Get the position of the agent or object sending the message - - The event subscribers, null of no subscribers + + Contains the data sent when a primitive opens a dialog with this agent - - Raises the TaskInventoryReply Event - A TaskInventoryReplyEventArgs object containing - the data sent from the simulator + + + 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 - - Thread sync lock object + + Get the dialog message - - The event subscribers, null of no subscribers + + Get the name of the object that sent the dialog request - - Raises the SaveAssetToInventory Event - A SaveAssetToInventoryEventArgs object containing - the data sent from the simulator + + Get the ID of the image to be displayed - - Thread sync lock object + + Get the ID of the primitive sending the dialog - - The event subscribers, null of no subscribers + + Get the first name of the senders owner - - Raises the ScriptRunningReply Event - A ScriptRunningReplyEventArgs object containing - the data sent from the simulator + + Get the last name of the senders owner - - Thread sync lock object + + Get the communication channel the dialog was sent on, responses + should also send responses on this same channel - - Partial mapping of AssetTypes to folder names + + Get the string labels containing the options presented in this dialog - - - Default constructor - - Reference to the GridClient object + + UUID of the scritped object owner - - - 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 + + Contains the data sent when a primitive requests debit or other permissions + requesting a YES or NO answer - + - Request A single inventory item + Construct a new instance of the ScriptQuestionEventArgs - The items - The item Owners - + 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 - - - Request inventory items - - Inventory items to request - Owners of the inventory items - + + Get the simulator containing the object sending the request - - - Request inventory items via Capabilities - - Inventory items to request - Owners of the inventory items - + + Get the ID of the script making the request - - - 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 + + Get the ID of the primitive containing the script making the 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 - + + Get the name of the primitive making the request - - - 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 - + + Get the name of the owner of the object making the request - - - 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 permissions being requested + + + Contains the data sent when a primitive sends a request + to an agent to open the specified URL - + - Find an object in inventory using a specific path to search + Construct a new instance of the LoadUrlEventArgs - 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 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 - - - 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 name of the object sending the request - - - 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 + + Get the ID of the object sending the request - - - Move an inventory item or folder to a new location - - The item or folder to move - The to move item or folder to + + Get the ID of the owner of the object sending the request - - - 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 + + True if the object is owned by a group - - - Move and rename a folder - - The source folders - The destination folders - The name to change the folder to + + Get the message sent with the request - - - Update folder properties - - of the folder to update - Sets folder's parent to - Folder name - Folder type + + Get the URL the object sent - - - Move a folder - - The source folders - The destination folders + + The date received from an ImprovedInstantMessage - + - Move multiple folders, the keys in the Dictionary parameter, - to a new parents, the value of that folder's key. + Construct a new instance of the InstantMessageEventArgs object - A Dictionary containing the - of the source as the key, and the - of the destination as the value + the InstantMessage object + the simulator where the InstantMessage origniated - - - Move an inventory item to a new folder - - The of the source item to move - The of the destination folder + + Get the InstantMessage 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 + + Get the simulator where the InstantMessage origniated - - - 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 currency balance - + - Remove descendants of a folder + Construct a new BalanceEventArgs object - The of the folder + The currenct balance - + - Remove a single item from inventory + Get the currenct balance - The of the inventory item to remove - - - Remove a folder from inventory - - The of the folder to remove + + Contains the transaction summary when an item is purchased, + money is given, or land is purchased - + - Remove multiple items or folders from inventory + Construct a new instance of the MoneyBalanceReplyEventArgs object - A List containing the s of items to remove - A List containing the s of the folders to remove + 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 - - - Empty the Lost and Found folder - + + Get the ID of the transaction - - - Empty the Trash folder - + + True of the transaction was successful - - - - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - + + Get the remaining currency balance - - - - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - + + Get the meters credited - - - 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 meters comitted - - - 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 description of the transaction - + + Detailed transaction information + + + Data sent from the simulator containing information about your agent and active group information + + - Create an inventory item and upload asset data + Construct a new instance of the AgentDataReplyEventArgs object - 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 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 - - - 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 + + Data sent by the simulator to indicate the active/changed animations + applied to your agent - + - Creates inventory link to another inventory item or folder + Construct a new instance of the AnimationsChangedEventArgs class - Put newly created link in folder with this UUID - Inventory item or folder - Method to call upon creation of the link + The dictionary that contains the changed animations - - - 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 dictionary that contains the changed animations - + - Creates inventory link to another inventory folder + Data sent from a simulator indicating a collision with your agent - 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 + Construct a new instance of the MeanCollisionEventArgs class - 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 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 + + - Request a copy of an asset embedded within a notecard + Construct a new instance of the ScriptControlEventArgs class - 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 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 - + - Save changes to notecard embedded in object contents + Construct a new instance of the ChatSessionMemberAddedEventArgs object - Encoded notecard asset data - Notecard UUID - Object's UUID - Called upon finish of the upload with status information + The ID of the chat session + The ID of the agent joining - - - Upload new gesture asset for an inventory gesture item - - Encoded gesture asset - Gesture inventory UUID - Callback whick will be called when upload is complete + + Get the ID of the chat session - - - 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 - + + Get the ID of the agent that joined - - - 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 - + + Data sent when an agent exits a chat session your agent is currently participating in - + - Rez an object from inventory + Construct a new instance of the ChatSessionMemberLeftEventArgs object - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details + The ID of the chat session + The ID of the Agent that left - - - 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 + + Get the ID of the chat session - - - 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 + + Get the ID of the agent that left - - - 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 + + Event arguments with the result of setting display name operation - - - 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 + + Default constructor - - - 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 + + Status code, 200 indicates settign display name was successful - - - Rez an item from inventory to its previous simulator location - - - - - + + Textual description of the status - + + Details of the newly set display name + + - Give an inventory item to another avatar + Abstract base for rendering plugins - 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 + Generates a basic mesh structure from a primitive - 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 + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh - + - Copy or move an from agent inventory to a task (primitive) inventory + Generates a basic mesh structure from a sculpted primitive and + texture - 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 + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh - + - Retrieve a listing of the items contained in a task (Primitive) + Generates a series of faces, each face containing a mesh and + metadata - 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 + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh - + - Request the contents of a tasks (primitives) inventory from the - current simulator + Generates a series of faces for a sculpted prim, each face + containing a mesh and metadata - The LocalID of the object - + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh - + - Request the contents of a tasks (primitives) inventory + Apply texture coordinate modifications from a + to a list of vertices - The simulator Local ID of the object - A reference to the simulator object that contains the object - + Vertex list to modify texture coordinates for + Center-point of the face + Face texture parameters + Scale of the prim - + - Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory + Represents Mesh asset - 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 + Decoded mesh data - 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]); - - + + Initializes a new instance of an AssetMesh object - - - 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 - + + Initializes a new instance of an AssetMesh object with parameters + A unique specific to this asset + A byte array containing the raw asset data - + - Send a request to set the running state of a script contained in a task (primitive) inventory + TODO: Encodes Collada file into LLMesh format - 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 + Decodes mesh asset. See + to furter decode it for rendering + true - + + Override the base classes AssetType + + - Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id + Archives assets - 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 + Archive assets - asset_id value to obfuscate - Obfuscated shadow_id value - + - Wrapper for creating a new object + Archive the assets given to this archiver to the given archive. - 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 + Write an assets metadata file to the given archive - 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 + + + Write asset data files to the given archive + + - + - 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 + Avatar group management - The sender - The EventArgs object containing the packet data - - 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 - - Raised when the simulator sends us data containing - ... + + Current group title - - Raised when the simulator sends us data containing - ... + + Is a group owner - - Raised when the simulator sends us data containing - an inventory object sent by another avatar or primitive + + + Role manager for a group + - - Raised when the simulator sends us data containing - ... + + Key of the group - - Raised when the simulator sends us data containing - ... + + Key of Role - - Raised when the simulator sends us data containing - ... + + Name of Role - - Raised when the simulator sends us data containing - ... + + Group Title associated with Role - - Raised when the simulator sends us data containing - ... + + Description of Role - - - Get this agents Inventory data - + + Abilities Associated with Role - - - 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 + + Returns the role's title + The role's title - + - Callback for an inventory item being create from an uploaded asset + Class to represent Group Title - true if inventory item creation was successful - - - - - - - - + + Key of the group - - - Reply received when uploading an inventory asset - - Has upload been successful - Error message if upload failed - Inventory asset UUID - New asset UUID + + ID of the role title belongs to - - - 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 + + Group Title - - Set to true to accept offer, false to decline it + + Whether title is Active - - The folder to accept the inventory into, if null default folder for will be used + + Returns group title - + - 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. + Represents a group on the grid - - - 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(); - } - } - } - - + + Key of Group - - Networking subsystem + + Key of Group Insignia - - Settings class including constant values and changeable - parameters for everything + + Key of Group Founder + + + Key of Group Role for Owners + + + Name of Group - - Parcel (subdivided simulator lots) subsystem + + Text of Group Charter - - Our own avatars subsystem + + Title of "everyone" role - - Other avatars subsystem + + Is the group open for enrolement to everyone - - Estate subsystem + + Will group show up in search - - Friends list subsystem + + - - Grid (aka simulator group) subsystem + + - - Object subsystem + + - - Group subsystem + + Is the group Mature - - Asset subsystem + + Cost of group membership - - Appearance subsystem + + - - Inventory subsystem + + - - Directory searches including classifieds, people, land - sales, etc + + The total number of current members this group has - - Handles land, wind, and cloud heightmaps + + The number of roles this group has configured - - Handles sound-related networking + + Show this group in agent's profile - - Throttling total bandwidth usage, or allocating bandwidth - for specific data stream types + + Returns the name of the group + A string containing the name of the group - + - Default constructor + A group Vote - - - Return the full name of this instance - - Client avatars full name + + Key of Avatar who created Vote - - - Class that handles the local asset cache - + + Text of the Vote proposal - - - Default constructor - - A reference to the GridClient object + + Total number of votes - + - Disposes cleanup timer + A group proposal - - - Only create timer when needed - + + The Text of the proposal - - - 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 + + The minimum number of members that must vote before proposal passes or failes - - - 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 + + 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 - - - Constructs a file name of the cached asset - - UUID of the asset - String with the file name of the cahced asset + + The duration in days votes are accepted - + - 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. + Struct representing a group notice - + + + + + + + + + + + + + - Look up an existing Participants in this session + - - + - + Struct representing a group notice list entry - - - - + + Notice ID - - - - + + Creation timestamp of notice - - - - + + Agent name who created notice - - - - - - + + Notice subject - - - 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 + + Is there an attachment? - - - A dictionary of callbacks to fire when specified action occurs - + + Attachment Type - + - Register a callback to be fired when an action occurs + Struct representing a member of a group chat session and their settings - The action - The callback to fire - - - Unregister a callback - - The action - The callback to fire + + The of the Avatar - - - - - - + + True if user has voice chat enabled - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking + + True of Avatar has moderator abilities - - - 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>(); - - + + True if a moderator has muted this avatars chat - - - 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); - - + + True if a moderator has muted this avatars voice - + - Try to get entry from the with specified key + Role update flags - 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 - + + Can send invitations to groups default role - - - Enumerator for iterating dictionary entries - - + + Can eject members from group - - - Gets the number of Key/Value pairs contained in the - + + Can toggle 'Open Enrollment' and change 'Signup fee' - - - Indexer for the dictionary - - The key - The value + + Member is visible in the public member list - - - Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. - + + Can create new roles - - - Rotation Keyframe count (used internally) - + + Can delete existing roles - - - Position Keyframe count (used internally) - + + Can change Role names, titles and descriptions - - - Animation Priority - + + Can assign other members to assigners role + + + Can assign other members to any role - - - The animation length in seconds. - + + Can remove members from roles - - - Expression set in the client. Null if [None] is selected - + + Can assign and remove abilities in roles - - - The time in seconds to start the animation - + + Can change group Charter, Insignia, 'Publish on the web' and which + members are publicly visible in group member listings - - - The time in seconds to end the animation - + + Can buy land or deed land to group - - - Loop the animation - + + Can abandon group owned land to Governor Linden on mainland, or Estate owner for + private estates - - - Meta data. Ease in Seconds. - + + Can set land for-sale information on group owned parcels - - - Meta data. Ease out seconds. - + + Can subdivide and join parcels - - - Meta Data for the Hand Pose - + + Can join group chat sessions - - - Number of joints defined in the animation - + + Can use voice chat in Group Chat sessions - - - Contains an array of joints - + + Can moderate group chat sessions - - - Searialize an animation asset into it's joints/keyframes/meta data - - + + Can toggle "Show in Find Places" and set search category - - - 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 + + Can change parcel name, description, and 'Publish on web' settings - - - 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 + + Can set the landing point and teleport routing on group land - - - 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 - + + Can change music and media settings - - - 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 + + Can toggle 'Edit Terrain' option in Land settings - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - 2 + + Can toggle various About Land > Options settings - - - A Joint and it's associated meta data and keyframes - + + Can always terraform land, even if parcel settings have it turned off - - - 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 + + Can always fly while over group owned land - - - Returns the hash code for this instance. - - - A 32-bit signed integer that is the hash code for this instance. - - 2 + + Can always rez objects on group owned land - - - Name of the Joint. Matches the avatar_skeleton.xml in client distros - + + Can always create landmarks for group owned parcels - - - Joint Animation Override? Was the same as the Priority in testing.. - + + Can set home location on any group owned parcel - - - Array of Rotation Keyframes in order from earliest to latest - + + Can modify public access settings for group owned parcels - - - Array of Position Keyframes in order from earliest to latest - This seems to only be for the Pelvis? - + + Can manager parcel ban lists on group owned land - - - Custom application data that can be attached to a joint - + + Can manage pass list sales information - - - A Joint Keyframe. This is either a position or a rotation. - + + Can eject and freeze other avatars on group owned land - - - Either a Vector3 position or a Vector3 Euler rotation - + + Can return objects set to group - - - Poses set in the animation metadata for the hands. - + + Can return non-group owned/set objects - - - Represents an AssetScriptBinary object containing the - LSO compiled bytecode of an LSL script - + + Can return group owned objects - - Initializes a new instance of an AssetScriptBinary object + + Can landscape using Linden plants - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + Can deed objects to group - - - TODO: Encodes a scripts contents into a LSO Bytecode file - + + Can move group owned objects - - - TODO: Decode LSO Bytecode into a string - - true + + Can set group owned objects for-sale - - Override the base classes AssetType + + Pay group liabilities and receive group dividends - - - A linkset asset, containing a parent primitive and zero or more children - + + List and Host group events - - Initializes a new instance of an AssetPrim object + + Can send group notices - - - Initializes a new instance of an AssetPrim object - - A unique specific to this asset - A byte array containing the raw asset data + + Can receive group notices + + + Can create group proposals - - - - + + Can vote on group proposals - + - + Handles all network traffic related to reading and writing group + information - - - Override the base classes AssetType + + The event subscribers. null if no subcribers - - - Only used internally for XML serialization/deserialization - + + Raises the CurrentGroups event + A CurrentGroupsEventArgs object containing the + data sent from the simulator - - - The deserialized form of a single primitive in a linkset asset - + + 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. + + - Singleton logging class for the entire library + 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 - - log4net logging engine + + Update a group's profile and other information + Groups ID (UUID) to update. + Group struct to update. - - - Default constructor - + + Eject a user from a group + Group ID to eject the user from + Avatar's key to eject - - - Send a log message to the logging engine - - The log message - The severity of the log entry + + Update role information + Modified role to be updated - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Instance of the client + + Create a new group role + Group ID to update + Role to create - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Exception that was raised + + Delete a group role + Group ID to update + Role to delete - - - 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 + + Remove an avatar from a role + Group ID to update + Role ID to be removed from + Avatar's Key to remove - - - 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 + + Assign an avatar to a role + Group ID to update + Role ID to assign to + Avatar's ID to assign to role - - - 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 + + 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 - - Triggered whenever a message is logged. If this is left - null, log messages will go to the console + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - 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 - - - Represents a Callingcard with AvatarID and Position vector - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - UUID of the Callingcard target avatar + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Construct an Asset of type Callingcard + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Construct an Asset object of type Callingcard - - 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 - - - Constuct an asset of type Callingcard - - UUID of the target avatar + + 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 Callingcard 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 AvatarID and Position - - true if the AssetData was successfully decoded to a UUID and Vector + + 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 - - - Simulator (region) properties - + + 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 + + Raised when the simulator sends us data containing + our current group membership - - Home position is reset when an agent teleports away + + Raised when the simulator responds to a RequestGroupName + or RequestGroupNames request - - Sun does not move + + Raised when the simulator responds to a request - - No object, land, etc. taxes + + Raised when the simulator responds to a request - - Disable heightmap alterations (agents can still plant - foliage) + + Raised when the simulator responds to a request - - Land cannot be released, sold, or purchased + + Raised when the simulator responds to a request - - All content is wiped nightly + + Raised when the simulator responds to a request - - Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) + + Raised when a response to a RequestGroupAccountSummary is returned + by the simulator - - Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. + + Raised when a request to create a group is successful - - Region does not update agent prim interest lists. Internal debugging option. + + Raised when a request to join a group either + fails or succeeds - - No collision detection for non-agent objects + + Raised when a request to leave a group either + fails or succeeds - - No scripts are ran + + Raised when A group is removed from the group server - - All physics processing is turned off + + Raised when a request to eject a member from a group either + fails or succeeds - - Region can be seen from other regions on world map. (Legacy world map option?) + + Raised when the simulator sends us group notices + - - Region can be seen from mainland on world map. (Legacy world map option?) + + Raised when another agent invites our avatar to join a group - - Agents not explicitly on the access list can visit the region. + + Contains the current groups your agent is a member of - - Traffic calculations are not run across entire region, overrides parcel settings. + + Construct a new instance of the CurrentGroupsEventArgs class + The current groups your agent is a member of - - Flight is disabled (not currently enforced by the sim) + + Get the current groups your agent is a member of - - Allow direct (p2p) teleporting + + A Dictionary of group names, where the Key is the groups ID and the value is the groups name - - Estate owner has temporarily disabled scripting + + Construct a new instance of the GroupNamesEventArgs class + The Group names dictionary - - Restricts the usage of the LSL llPushObject function, applies to whole region. + + Get the Group Names dictionary - - Deny agents with no payment info on file + + Represents the members of a group - - Deny agents with payment info on file + + + Construct a new instance of the GroupMembersReplyEventArgs class + + The ID of the request + The ID of the group + The membership list of the group - - Deny agents who have made a monetary transaction + + Get the ID as returned by the request to correlate + this result set and the request - - Parcels within the region may be joined or divided by anyone, not just estate owners/managers. + + Get the ID of the group - - Abuse reports sent from within this region are sent to the estate owner defined email. + + Get the dictionary of members - - Region is Voice Enabled + + Represents the roles associated with a group - - Removes the ability from parcel owners to set their parcels to show in search. + + 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 - - Deny agents who have not been age verified from entering the region. + + Get the ID as returned by the request to correlate + this result set and the request - - - Region protocol flags - + + Get the ID of the group + + + Get the dictionary containing the roles - - - Access level for a simulator - + + Represents the Role to Member mappings for a group - - Unknown or invalid access level + + 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 - - Trial accounts allowed + + Get the ID as returned by the request to correlate + this result set and the request - - PG rating + + Get the ID of the group - - Mature rating + + Get the member to roles map - - Adult rating + + Represents the titles for a group - - Simulator is offline + + 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 - - Simulator does not exist + + Get the ID as returned by the request to correlate + this result set and the request - - - - + + Get the ID of the group - - A public reference to the client that this Simulator object - is attached to + + Get the titles - - A Unique Cache identifier for this simulator + + Represents the summary data for a group - - The capabilities for this simulator + + Construct a new instance of the GroupAccountSummaryReplyEventArgs class + The ID of the group + The summary data - - + + Get the ID of the group - - The current version of software this simulator is running + + Get the summary data - - + + A response to a group create request - - A 64x64 grid of parcel coloring values. The values stored - in this array are of the type + + 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 - - true if your agent has Estate Manager rights on this region + + 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 - - Statistics information for this simulator and the - connection to the simulator, calculated by the simulator itself - and the library + + + A set of textures that are layered on texture of each other and "baked" + in to a single texture, for avatar appearances + - - The regions Unique ID + + Final baked texture - - The physical data center the simulator is located - Known values are: - - Dallas - Chandler - SF - - + + Component layers - - The CPU Class of the simulator - Most full mainland/estate sims appear to be 5, - Homesteads and Openspace appear to be 501 + + Width of the final baked image and scratchpad - - The number of regions sharing the same CPU as this one - "Full Sims" appear to be 1, Homesteads appear to be 4 + + Height of the final baked image and scratchpad - - 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) - - + + Bake type - - 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 - - + + + Default constructor + + Bake type - + - Flags indicating which protocols this region supports + Adds layer for baking + TexturaData struct that contains texture and its params - - 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 + Converts avatar texture index (face) to Bake type + Face number (AvatarTextureIndex) + BakeType, layer to which this texture belongs to - + - A thread-safe dictionary containing primitives in a simulator + Make sure images exist, resize source if needed to match the destination + Destination image + Source image + Sanitization was succefull - + - Checks simulator parcel map to make sure it has downloaded all data successfully + 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 - true if map is full (contains no 0's) + Color of the base of this layer - + - Is it safe to send agent updates to this sim - AgentMovementComplete message received + 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 - - Used internally to track sim disconnections + + Final baked texture - - Event that is triggered when the simulator successfully - establishes a connection + + Component layers - - Whether this sim is currently connected or not. Hooked up - to the property Connected + + Width of the final baked image and scratchpad - - Coarse locations of avatars in this simulator + + Height of the final baked image and scratchpad - - AvatarPositions key representing TrackAgent target + + Bake type - - Sequence numbers of packets we've received - (for duplicate checking) + + Is this one of the 3 skin bakes - - Packets we sent out that need ACKs from the simulator + + + Represents a Sound Asset + - - Sequence number for pause/resume + + Initializes a new instance of an AssetSound object - - Indicates if UDP connection to the sim is fully established + + 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 - Reference to the GridClient object - IPEndPoint of the simulator - handle of the simulator - + - Called when this Simulator object is being destroyed + TODO: Decode a sound file + true - - - 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 + + Override the base classes AssetType - + - Initiates connection to the simulator + Represents an that represents an avatars body ie: Hair, Etc. - Should we block until ack for this packet is recieved - - - Disconnect from this simulator - + + Initializes a new instance of an AssetBodyPart object - - - Instructs the simulator to stop sending update (and possibly other) packets - + + Initializes a new instance of an AssetBodyPart object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - - Instructs the simulator to resume sending update packets (unpause) - + + Override the base classes AssetType - + - Retrieve the terrain height at a given coordinate + Avatar profile flags - 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 + Represents an avatar (other than your own) - Packet to be sent - - - - + + Groups that this avatar is a member of - - - Returns Simulator Name as a String - - + + 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 - - - + - Sends out pending acknowledgements + Appearance version. Value greater than 0 indicates using server side baking - Number of ACKs sent - + - Resend unacknowledged packets + Version of the Current Outfit Folder that the appearance is based on - + - Provides access to an internal thread-safe dictionary containing parcel - information found in this simulator + Appearance flags. Introduced with server side baking, currently unused. - + - Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + List of current avatar animations - - 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 + Default constructor - - 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 + + First name - - Total number of pings sent to this simulator by this agent + + Last name - - Total number of ping replies sent to this agent by this simulator + + Full name - - - Incoming bytes per second - - It would be nice to have this claculated on the fly, but - this is far, far easier + + Active group - + - Outgoing bytes per second + Positive and negative ratings - It would be nice to have this claculated on the fly, but - this is far, far easier - - Time last ping was sent + + Positive ratings for Behavior - - ID of last Ping sent + + Negative ratings for Behavior - - + + Positive ratings for Appearance - - + + Negative ratings for Appearance - - Current time dilation of this simulator + + Positive ratings for Building - - Current Frames per second of simulator + + Negative ratings for Building - - Current Physics frames per second of simulator + + 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 - + - + - + - + - - Total number of objects Simulator is simulating + + Profile image ID - - Total number of Active (Scripted) objects running + + Flags of the profile - - Number of agents currently in this simulator + + Web URL for this profile - - Number of agents in neighbor simulators + + Should this profile be published on the web - - Number of Active scripts running in this simulator + + Avatar Online Status - - + + Is this a mature profile - + - + - - Number of downloads pending + + + Avatar interests including spoken languages, skills, and "want to" + choices + - - Number of uploads pending + + Languages profile field - + - + - - 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 + Index of TextureEntry slots for avatar appearances - + - + Bake layers for avatar appearance - - 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 + Appearance Flags, introdued with server side baking, currently unused - - 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 + + Maximum number of concurrent downloads for wearable assets and textures - - Whether the object has a name value pairs string + + Maximum number of concurrent uploads for baked textures - - Whether the object has a Media URL set + + Timeout for fetching inventory listings - - - Specific Flags for MultipleObjectUpdate requests - + + Timeout for fetching a single wearable, or receiving a single packet response - - None + + Timeout for fetching a single texture - - Change position of prims + + Timeout for uploading a single baked texture - - Change rotation of prims + + Number of times to retry bake upload - - Change size of prims + + When changing outfit, kick off rebake after + 20 seconds has passed since the last change - - Perform operation on link set + + Total number of wearables for each avatar - - Scale prims uniformly, same as selecing ctrl+shift in the - viewer. Used in conjunction with Scale + + Total number of baked textures on each avatar - - - Special values in PayPriceReply. If the price is not one of these - literal value of the price should be use - + + Total number of wearables per bake layer - - - Indicates that this pay option should be hidden - + + Mask for multiple attachments - - - Indicates that this pay option should have the default value - + + Mapping between BakeType and AvatarTextureIndex - - - Contains the variables sent in an object update packet for objects. - Used to track position and movement of prims and avatars - + + 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 - - - Handles all network traffic related to prims and avatar positions and - movement. - + + Thread sync lock object - - The event subscribers, null of no subscribers + + 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 - - The event subscribers, null of no subscribers + + Visual parameters last sent to the sim - - Raises the ObjectProperties Event - A ObjectPropertiesEventArgs object containing - the data sent from the simulator + + Textures about this client sent to the sim - - Thread sync lock object + + A cache of wearables currently being worn - - The event subscribers, null of no subscribers + + A cache of textures currently being worn - - Raises the ObjectPropertiesUpdated Event - A ObjectPropertiesUpdatedEventArgs object containing - the data sent from the simulator + + Incrementing serial number for AgentCachedTexture packets - - Thread sync lock object + + Incrementing serial number for AgentSetAppearance packets - - The event subscribers, null of no subscribers + + Indicates if WearablesRequest succeeded - - Raises the ObjectPropertiesFamily Event - A ObjectPropertiesFamilyEventArgs object containing - the data sent from the simulator + + Indicates whether or not the appearance thread is currently + running, to prevent multiple appearance threads from running + simultaneously - - Thread sync lock object + + Reference to our agent - - The event subscribers, null of no subscribers + + + Timer used for delaying rebake on changing outfit + - - Raises the AvatarUpdate Event - A AvatarUpdateEventArgs object containing - the data sent from the simulator + + + Main appearance thread + - - Thread sync lock object + + + Is server baking complete. It needs doing only once + - - The event subscribers, null of no subscribers + + + Default constructor + + A reference to our agent - - Thread sync lock object + + + Obsolete method for setting appearance. This function no longer does anything. + Use RequestSetAppearance() to manually start the appearance thread + - - The event subscribers, null of no subscribers + + + Obsolete method for setting appearance. This function no longer does anything. + Use RequestSetAppearance() to manually start the appearance thread + + Unused parameter - - Raises the ObjectDataBlockUpdate Event - A ObjectDataBlockUpdateEventArgs object containing - the data sent from the simulator + + + Starts the appearance setting thread + - - Thread sync lock object + + + Starts the appearance setting thread + + True to force rebaking, otherwise false - - The event subscribers, null of no subscribers + + + Check if current region supports server side baking + + True if server side baking support is detected - - Raises the KillObject Event - A KillObjectEventArgs object containing - the data sent from the simulator + + + Ask the server what textures our agent is currently wearing + - - Thread sync lock object + + + 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 event subscribers, null of no subscribers + + + 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 - - Raises the KillObjects Event - A KillObjectsEventArgs object containing - the data sent from the simulator + + + Add a wearable to the current outfit and set appearance + + Wearable to be added to the outfit - - Thread sync lock object + + + 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 - - The event subscribers, null of no subscribers + + + 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 - - Raises the AvatarSitChanged Event - A AvatarSitChangedEventArgs object containing - the data sent from the simulator + + + 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 - - Thread sync lock object + + + Remove a wearable from the current outfit and set appearance + + Wearable to be removed from the outfit - - The event subscribers, null of no subscribers + + + Removes a list of wearables from the current outfit and set appearance + + List of wearable inventory items to + be removed from the outfit - - Raises the PayPriceReply Event - A PayPriceReplyEventArgs object containing - the data sent from the simulator + + + Replace the current outfit with a list of wearables and set appearance + + List of wearable inventory items that + define a new outfit - - Thread sync lock object + + + 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 - - The event subscribers, null of no subscribers + + + 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 - - Raises the PhysicsProperties Event - A PhysicsPropertiesEventArgs object containing - the data sent from the 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 - - Reference to the GridClient object + + + Adds a list of attachments to our agent + + A List containing the attachments to add + If true, tells simulator to remove existing attachment + first - - Does periodic dead reckoning calculation to convert - velocity and acceleration to new positions for objects + + + 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 - + - Construct a new instance of the ObjectManager class + Attach an item to our agent at a specific attach point - A reference to the instance + A to attach + the on the avatar + to attach the item to - + - Request information for a single object from a - you are currently connected to + Attach an item to our agent at a specific attach point - The the object is located - The Local ID of the 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 - + - Request information for multiple objects contained in - the same simulator + Attach an item to our agent specifying attachment details - The the objects are located - An array containing the Local IDs of the objects + 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 - - - 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); - - + + + 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 - + - 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 + Detach an item from our agent using an object - The the object is located - The ID of the object - The result is raised in the event + An object - + - Select a single object. This will cause the to send us - an which will raise the event + Detach an item from our agent - The the object is located - The Local ID of the object - + The inventory itemID of the item to detach - + - Select a single object. This will cause the to send us - an which will raise the event + Inform the sim which wearables are part of our current outfit - 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 - + Replaces the Wearables collection with a list of new wearable items + + Wearable items to replace the Wearables collection with - + - 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 - + 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 - + - Update the properties of an object + Blocking method to populate the Wearables dictionary - 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 + True on success, otherwise false - + - Update the properties of an object + Blocking method to populate the Textures array with cached bakes - 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 + True on success, otherwise false - + - Sets the sale properties of a single object + Populates textures and visual params from a decoded asset - The the object is located - The Local ID of the object - One of the options from the enum - The price of the object + Wearable to decode - + - 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 + Blocking method to download and parse currently worn wearable assets + + True on success, otherwise false - + - Deselect a single object + Get a list of all of the textures that need to be downloaded for a + single bake layer - The the object is located - The Local ID of the object + Bake layer to get texture AssetIDs for + A list of texture AssetIDs to download - + - Deselect multiple objects. + Helper method to lookup the TextureID for a single layer and add it + to a list if it is not already present - The the objects are located - An array containing the Local IDs of the objects + + - + - Perform a click action on an object + Blocking method to download all of the textures needed for baking + the given bake layers - The the object is located - The Local ID of the object + 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 - + - Perform a click action (Grab) on a single object + Blocking method to create and upload baked textures for all of the + missing bakes - 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 on success, otherwise false - + - Create (rez) a new prim object in a simulator + Blocking method to create and upload a baked texture for a single + bake layer - 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 + Layer to bake + True on success, otherwise false - + - Create (rez) a new prim object in a simulator + Blocking method to upload a baked texture - 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 + Five channel JPEG2000 texture data to upload + UUID of the newly created asset on success, otherwise UUID.Zero - + - Rez a Linden tree + Creates a dictionary of visual param values from the downloaded wearables - 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 + A dictionary of visual param indices mapping to visual param + values for our agent that can be fed to the Baker class - + - Rez grass and ground cover + Initate server baking process - 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 + True if the server baking was successful - + - Set the textures to apply to the faces of an object + Get the latest version of COF - 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 + Current Outfit Folder (or null if getting the data failed) - + - Set the textures to apply to the faces of an object + Create an AgentSetAppearance packet from Wearables data and the + Textures array and send it - 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 + Converts a WearableType to a bodypart or clothing WearableType - 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 + A WearableType + AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown - + - Set the flexible data on an object + Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex - 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 + A BakeType + The AvatarTextureIndex slot that holds the given BakeType - + - Set the sculptie texture and data on an object + Gives the layer number that is used for morph mask - 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 + >A BakeType + Which layer number as defined in BakeTypeToTextures is used for morph mask - + - Unset additional primitive parameters on an object + Converts a BakeType to a list of the texture slots that make up that bake - 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 + 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. + + - Link multiple prims into a linkset + Raised when appearance data is sent to the simulator, also indicates + the main appearance thread is finished. - 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? + request. - + - Delink/Unlink multiple prims from a linkset + Triggered when the simulator requests the agent rebake its appearance. - 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 + Returns true if AppearanceManager is busy and trying to set or change appearance will fail - 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 + Contains information about a wearable inventory item - 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 - + + Inventory ItemID of the wearable + + + AssetID of the wearable asset + + + WearableType of the wearable + + + AssetType of the wearable + + + Asset data for the wearable + + - Set the name of multiple objects + Data collected from visual params for each wearable + needed for the calculation of the color - 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 + 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 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 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 + + - 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 + 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 - - - 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 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 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