From d0895a4a3ae8a60764db4ada43c194fddc90ddf4 Mon Sep 17 00:00:00 2001 From: Melanie Date: Sat, 30 Oct 2010 03:28:59 +0100 Subject: On first login, Ruth is back now. Strangely, inventory items are created for tattoo and alpha layers. Any change of appearance in the sim makes the green gnome reappear on next login. Progress of sorts. --- OpenSim/Framework/AvatarAppearance.cs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/OpenSim/Framework/AvatarAppearance.cs b/OpenSim/Framework/AvatarAppearance.cs index 1e003f7..f0d8335 100644 --- a/OpenSim/Framework/AvatarAppearance.cs +++ b/OpenSim/Framework/AvatarAppearance.cs @@ -111,10 +111,6 @@ namespace OpenSim.Framework SetDefaultParams(); SetHeight(); - m_wearables = new AvatarWearable[AvatarWearable.MAX_WEARABLES]; - for (int i = 0 ; i < AvatarWearable.MAX_WEARABLES ; i++ ) - m_wearables[i] = new AvatarWearable(); - m_attachments = new Dictionary>(); } -- cgit v1.1 From 4a24bf74d93924b688fcd5246218083108c93c01 Mon Sep 17 00:00:00 2001 From: Teravus Ovares (Dan Olivares) Date: Sat, 30 Oct 2010 02:06:43 -0400 Subject: * Thank you lkalif for fixing the {array[array[]]} json OSD serialization issue. * This is libOMV SVN revision 3463. --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 20480 bytes bin/OpenMetaverse.StructuredData.XML | 148 +- bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 102400 bytes bin/OpenMetaverse.XML | 35764 +++++++++++++------------- bin/OpenMetaverse.dll | Bin 1716224 -> 1716224 bytes bin/OpenMetaverseTypes.XML | 3578 +-- bin/OpenMetaverseTypes.dll | Bin 114688 -> 114688 bytes 7 files changed, 19745 insertions(+), 19745 deletions(-) diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index f89ac5a..6139a9d 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 f5842c8..897a330 100644 --- a/bin/OpenMetaverse.StructuredData.XML +++ b/bin/OpenMetaverse.StructuredData.XML @@ -15,202 +15,202 @@ - + - + Deserializes binary LLSD - - + Serialized data + OSD containting deserialized data - + - + Deserializes binary LLSD - - + Stream to read the data from + OSD containting deserialized data - + - + - + - + - - + - + - - + + + - + - - + + - + - + + - + - + - + - + - + - - + + - + - + - + - - + - + - - - + - + - - + - + - - + - + - Deserializes binary LLSD + - Serialized data - OSD containting deserialized data + + - + - Deserializes binary LLSD + - Stream to read the data from - OSD containting deserialized data + + + - + - + - + - + - + - + + - + - - + - + - - + - + - - + + - + - + + + - + - + + - + - - + + + diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index 33b19ca..e3b729c 100644 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.XML b/bin/OpenMetaverse.XML index f5bda4b..6e57fed 100644 --- a/bin/OpenMetaverse.XML +++ b/bin/OpenMetaverse.XML @@ -4,3609 +4,3275 @@ OpenMetaverse - - - Singleton logging class for the entire library - + + = - - log4net logging engine + + Number of times we've received an unknown CAPS exception in series. - - - Default constructor - + + For exponential backoff on error. - + - Send a log message to the logging engine + Add a custom decoder callback - The log message - The severity of the log entry + The key of the field to decode + The custom decode handler - + - Send a log message to the logging engine + Remove a custom decoder callback - The log message - The severity of the log entry - Instance of the client + The key of the field to decode + The custom decode handler - + - Send a log message to the logging engine + Creates a formatted string containing the values of a Packet - The log message - The severity of the log entry - Exception that was raised + The Packet + A formatted string of values of the nested items in the Packet object - + - Send a log message to the logging engine + Decode an IMessage object into a beautifully formatted string - The log message - The severity of the log entry - Instance of the client - Exception that was raised + The IMessage object + Recursion level (used for indenting) + A formatted string containing the names and values of the source object - + - If the library is compiled with DEBUG defined, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine + A custom decoder callback - The message to log at the DEBUG level to the - current logging engine + The key of the object + the data to decode + A string represending the fieldData - + - 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 + Access to the data server which allows searching for land, events, people, etc - 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 + + The event subscribers. null if no subcribers - - - Callback used for client apps to receive log messages from - the library - - Data being logged - The severity of the log entry from + + Raises the EventInfoReply event + An EventInfoReplyEventArgs object containing the + data returned from the data server - - - This is used to get a list of audio devices that can be used for capture (input) of voice. - - + + Thread sync lock object - - - This is used to get a list of audio devices that can be used for render (playback) of voice. - + + The event subscribers. null if no subcribers - - - This command is used to select the render device. - - The name of the device as returned by the Aux.GetRenderDevices command. + + Raises the DirEventsReply event + An DirEventsReplyEventArgs object containing the + data returned from the data server - - - This command is used to select the capture device. - - The name of the device as returned by the Aux.GetCaptureDevices command. + + Thread sync lock object - - - This command is used to start the audio capture process which will cause - AuxAudioProperty Events to be raised. These events can be used to display a - microphone VU meter for the currently selected capture device. This command - should not be issued if the user is on a call. - - (unused but required) - + + The event subscribers. null if no subcribers - - - This command is used to stop the audio capture process. - - + + Raises the PlacesReply event + A PlacesReplyEventArgs object containing the + data returned from the data server - - - 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) - + + Thread sync lock object - - - This command is used to set the speaker volume while in the audio tuning - process. Once an acceptable speaker level is attained, the application must - issue a connector set speaker volume command to have that level be used while - on voice calls. - - the speaker volume (-100 to 100 inclusive) - + + The event subscribers. null if no subcribers - - - 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 - - + + Raises the DirPlacesReply event + A DirPlacesReplyEventArgs object containing the + data returned from the data server - - - Shutdown Connector -- Should be called when the application is shutting down - to gracefully release resources - - Handle returned from successful Connector ‘create’ request + + Thread sync lock object - - - Mute or unmute the microphone - - Handle returned from successful Connector ‘create’ request - true (mute) or false (unmute) + + The event subscribers. null if no subcribers - - - Mute or unmute the speaker - - Handle returned from successful Connector ‘create’ request - true (mute) or false (unmute) + + Raises the DirClassifiedsReply event + A DirClassifiedsReplyEventArgs object containing the + data returned from the data server - - - 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 + + Thread sync lock object - - - Set local speaker volume - - Handle returned from successful Connector ‘create’ request - The level of the audio, a number between -100 and 100 where - 0 represents ‘normal’ speaking volume + + The event subscribers. null if no subcribers - - - Starts a thread that keeps the daemon running - - - + + Raises the DirGroupsReply event + A DirGroupsReplyEventArgs object containing the + data returned from the data server - - - Stops the daemon and the thread keeping it running - + + Thread sync lock object - - - - - - - + + The event subscribers. null if no subcribers - - - 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. - - - + + Raises the DirPeopleReply event + A DirPeopleReplyEventArgs object containing the + data returned from the data server - - - Used to accept a call - - SessionHandle such as received from SessionNewEvent - "default" - + + Thread sync lock object - - - 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. - + + 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 + + - This command is used to stop the audio render process. + Constructs a new instance of the DirectoryManager class - The fully qualified path to the sound file issued in the start render command. - + An instance of GridClient - + - This is used to ‘end’ an established session (i.e. hang-up or disconnect). + 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 returned from successful Session ‘create’ request or a SessionNewEvent - + A string containing a list of keywords to search for + A UUID to correlate the results when the event is raised - + - Set the combined speaking and listening position in 3D space. + 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 returned from successful Session ‘create’ request or a SessionNewEvent - Speaking position - Listening position - + 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 + - + - Set User Volume for a particular user. Does not affect how other users hear that user. + Starts search for places (Overloaded) + + The event is raised when a response is received from the simulator - 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 - + 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 - + - Start up the Voice service. + 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 + - + - Handle miscellaneous request status + Starts a search for land sales using the directory + + The event is raised when a response is received from the simulator - - - ///If something goes wrong, we log it. + 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. - + - Cleanup oject resources + 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. - + - Request voice cap when changing regions + 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); + - + - Handle a change in session state + Search for Groups + The name or portion of the name of the group you wish to search for + Start from the match number + - + - Close a voice session + 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 + - + - Locate a Session context from its handle + Search the People directory for other avatars - Creates the session context if it does not exist. + The name or portion of the name of the avatar you wish to search for + + - + - Handle completion of main voice cap request. + Search Places for parcels of land you personally own - - - - + - Daemon has started so connect to it. + 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. - + - The daemon TCP connection is open. + 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. - + - Handle creation of the Connector. + 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. - + - Handle response to audio output device query + 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. - + - Handle response to audio input device query + Search Events - - - - Set voice channel for new parcel - + 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. - - - 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. - + + Requests Event Details + ID of Event returned from the method - - Response to Connector.Create request + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - 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 event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from - - Audio Properties Events are sent after audio capture is started. - These events are used to display a microphone VU meter + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Response to Account.Login request + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - This event message is sent whenever the login state of the - particular Account has transitioned from one value to another + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from - - - List of audio input devices - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - 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 + + Raised when the data server responds to a request. - - 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 + + Classified Ad categories - - Up Orientation (Y axis) of the position + + Classified is listed in the Any category - - Left Orientation (Z axis) of the position + + Classified is shopping related - - - The type of bump-mapping applied to a face - + + Classified is - + - + - + - + - + - + - + - + + Event Categories + + - + - + - + - + - + - - - - - - - - - - + - + - - - The level of shininess applied to a face - - - + - + - + - + - + - The texture mapping style used for a face + 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 - - - Flags in the TextureEntry block that describe which properties are - set - + + Query the Events database - - + + Query the land holdings database for land owned by the currently connected agent - + - - + + Query the land holdings database for land which is owned by a Group - - + + Specifies the query should pre sort the results based upon traffic + when searching the Places database - + - + - + - + - - + + Specifies the query should pre sort the results in an ascending order when searching the land sales database. + This flag is only used when searching the land sales database - - + + Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. + This flag is only used when searching the land sales database - - + + Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. + This flag is only used when searching the land sales database - - + + Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. + This flag is only used when searching the land sales database - - - Particle system specific enumerators, flags and methods. - + + Specifies the query should pre sort the results using the Name field when searching the land sales database. + This flag is only used when searching the land sales database - - + + When set, only parcels less than the specified Price will be included when searching the land sales database. + This flag is only used when searching the land sales database - - + + When set, only parcels greater than the specified Size will be included when searching the land sales database. + This flag is only used when searching the land sales database - + - + - - + + Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases - - + + Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases - - + + Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases - + - - + + + Land types to search dataserver for + - - Foliage type for this primitive. Only applicable if this - primitive is foliage + + Search Auction, Mainland and Estate - - Unknown + + Land which is currently up for auction - - + + Parcels which are on the mainland (Linden owned) continents - - + + Parcels which are on privately owned simulators - - + + + The content rating of the event + - - + + Event is PG - - + + Event is Mature - - + + Event is Adult - - + + + Classified Ad Options + + There appear to be two formats the flags are packed in. + This set of flags is for the newer style - + - + - + - + - + - - Identifies the owner if audio or a particle system is - active + + + Classified ad query options + - - + + Include all ads in results - - + + Include PG ads in results - - + + Include Mature ads in results - - + + Include Adult ads in results - - + + + The For Sale flag in PlacesReplyData + - - + + Parcel is not listed for sale - - + + Parcel is For Sale - - + + + A classified ad on the grid + - - + + UUID for this ad, useful for looking up detailed + information about it - - + + The title of this classified ad - - + + Flags that show certain options applied to the classified - - + + Creation date of the ad - - - Default constructor - + + Expiration date of the ad - - - 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 + + Price that was paid for this ad - - - 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 + + Print the struct data as a string + A string containing the field name, and field value - + - Current version of the media data for the prim + A parcel retrieved from the dataserver such as results from the + "For-Sale" listings or "Places" Search - - - Array of media entries indexed by face number - + + The unique dataserver parcel ID + This id is used to obtain additional information from the entry + by using the method - - Uses basic heuristics to estimate the primitive shape + + A string containing the name of the parcel - - - Texture animation mode - + + The size of the parcel + This field is not returned for Places searches - - Disable texture animation + + The price of the parcel + This field is not returned for Places searches - - Enable texture animation + + If True, this parcel is flagged to be auctioned - - Loop when animating textures + + If true, this parcel is currently set for sale - - Animate in reverse direction + + Parcel traffic - - Animate forward then reverse + + Print the struct data as a string + A string containing the field name, and field value - - Slide texture smoothly instead of frame-stepping + + + An Avatar returned from the dataserver + - - Rotate texture instead of using frames + + Online status of agent + This field appears to be obsolete and always returns false - - Scale texture instead of using frames + + The agents first name - - - A single textured face. Don't instantiate this class yourself, use the - methods in TextureEntry - + + The agents last name - - - Contains the definition for individual faces - - + + The agents - + + Print the struct data as a string + A string containing the field name, and field value + + - + Response to a "Groups" Search - - - + + The Group ID - - + + The name of the group - - + + The current number of members - - + + Print the struct data as a string + A string containing the field name, and field value - - + + + Parcel information returned from a request + + Represents one of the following: + A parcel of land on the grid that has its Show In Search flag set + A parcel of land owned by the agent making the request + A parcel of land owned by a group the agent making the request is a member of + + + In a request for Group Land, the First record will contain an empty record + + Note: This is not the same as searching the land for sale data source + - - + + The ID of the Agent of Group that owns the parcel - - + + The name - - + + The description - - + + The Size of the parcel - - + + The billable Size of the parcel, for mainland + parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller + than the ActualArea. For Estate land this will always be 0 - - In the future this will specify whether a webpage is - attached to this face + + Indicates the ForSale status of the parcel - - + + The Gridwide X position - - - 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 + + The Gridwide Y position - - + + The Z position of the parcel, or 0 if no landing point set - - + + The name of the Region the parcel is located in - - - Constructor that takes a default texture UUID - - Texture UUID to use as the default texture + + The Asset ID of the parcels Snapshot texture - - - Constructor that takes a TextureEntryFace for the - default face - - Face to use as the default face + + The calculated visitor traffic - - - 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 + + The billing product SKU + Known values are: + + 023Mainland / Full Region + 024Estate / Full Region + 027Estate / Openspace + 029Estate / Homestead + 129Mainland / Homestead (Linden Owned) + + - - - 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 + + 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 - - - - - - - - - - Controls the texture animation of a particular prim - - - - + + The ID of the event creator - - + + The name of the event - - + + The events ID - - + + A string containing the short date/time the event will begin - - + + The event start time in Unixtime (seconds since epoch) - - + + The events maturity rating - - + + Print the struct data as a string + A string containing the field name, and field value - + - + The details of an "Event" - - - - - - - + + The events ID - - - Complete structure for the particle system - + + The ID of the event creator - - Particle Flags - There appears to be more data packed in to this area - for many particle systems. It doesn't appear to be flag values - and serialization breaks unless there is a flag for every - possible bit so it is left as an unsigned integer + + The name of the event - - pattern of particles + + The category - - A representing the maximimum age (in seconds) particle will be displayed - Maximum value is 30 seconds + + The events description - - A representing the number of seconds, - from when the particle source comes into view, - or the particle system's creation, that the object will emits particles; - after this time period no more particles are emitted + + The short date/time the event will begin - - A in radians that specifies where particles will not be created + + The event start time in Unixtime (seconds since epoch) UTC adjusted - - A in radians that specifies where particles will be created + + The length of the event in minutes - - A representing the number of seconds between burts. + + 0 if no cover charge applies - - A representing the number of meters - around the center of the source where particles will be created. + + The cover charge amount in L$ if applicable - - A representing in seconds, the minimum speed between bursts of new particles - being emitted + + The name of the region where the event is being held - - A representing in seconds the maximum speed of new particles being emitted. + + The gridwide location of the event - - A representing the maximum number of particles emitted per burst + + The maturity rating - - A which represents the velocity (speed) from the source which particles are emitted + + Get a SL URL for the parcel where the event is hosted + A string, containing a standard SLURL - - A which represents the Acceleration from the source which particles are emitted + + Print the struct data as a string + A string containing the field name, and field value - - The Key of the texture displayed on the particle + + Contains the Event data returned from the data server from an EventInfoRequest - - The Key of the specified target object or avatar particles will follow + + Construct a new instance of the EventInfoReplyEventArgs class + A single EventInfo object containing the details of an event - - Flags of particle from + + + A single EventInfo object containing the details of an event + - - Max Age particle system will emit particles for + + Contains the "Event" detail data returned from the data server - - The the particle has at the beginning of its lifecycle + + 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 the particle has at the ending of its lifecycle + + The ID returned by - - A that represents the starting X size of the particle - Minimum value is 0, maximum value is 4 + + A list of "Events" returned by the data server - - A that represents the starting Y size of the particle - Minimum value is 0, maximum value is 4 + + Contains the "Event" list data returned from the data server - - A that represents the ending X size of the particle - Minimum value is 0, maximum value is 4 + + 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 that represents the ending Y size of the particle - Minimum value is 0, maximum value is 4 + + The ID returned by - - - Decodes a byte[] array into a ParticleSystem Object - - ParticleSystem object - Start position for BitPacker + + A list of "Places" returned by the data server - - - Generate byte[] array from particle data - - Byte array + + Contains the places data returned from the data server - - - Particle source pattern - + + 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 - - None + + The ID returned by - - Drop particles from source position with no force + + A list containing Places data returned by the data server - - "Explode" particles in all directions + + Contains the classified data returned from the data server - - Particles shoot across a 2D area + + Construct a new instance of the DirClassifiedsReplyEventArgs class + A list of classified ad data returned from the data server - - Particles shoot across a 3D Cone + + A list containing Classified Ads returned by the data server - - Inverse of AngleCone (shoot particles everywhere except the 3D cone defined + + Contains the group data returned from the data server - - - Particle Data Flags - + + 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 - - None + + The ID returned by - - Interpolate color and alpha from start to end + + A list containing Groups data returned by the data server - - Interpolate scale from start to end + + Contains the people data returned from the data server - - Bounce particles off particle sources Z height + + 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 - - velocity of particles is dampened toward the simulators wind + + The ID returned by - - Particles follow the source - - - Particles point towards the direction of source's velocity - - - Target of the particles + + A list containing People data returned by the data server - - Particles are sent in a straight line + + Contains the land sales data returned from the data server - - Particles emit a glow + + Construct a new instance of the DirLandReplyEventArgs class + A list of parcels for sale returned by the data server - - used for point/grab/touch + + A list containing land forsale data returned by the data server - + - Particle Flags Enum + Sent to the client to indicate a teleport request has completed - - None - - - Acceleration and velocity for particles are - relative to the object rotation - - - Particles use new 'correct' angle parameters - - + - Parameters used to construct a visual representation of a primitive + Interface requirements for Messaging system - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + The of the agent - + - - + + The simulators handle the agent teleported to - - Attachment point to an avatar + + 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. - + - Information on the flexible properties of a primitive + Serialize the object + An containing the objects data - - - - - - - - - - - + + + Deserialize the message + + An containing the data - - + + + Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. + - - + + + Serialize the object + + An containing the objects data - + - Default constructor + 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 - + - Information on the light properties of a primitive + 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 - + - Default constructor + 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 - + - Information on the sculpt properties of a sculpted primitive + 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 + + - Default constructor + Serialize the object + An containing the objects data - + - + Deserialize the message - - + An containing the data - + - Render inside out (inverts the normals). + Prim ownership information for a specified owner on a single parcel - - - Render an X axis mirror of the sculpty. - + + 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 + + - Extended properties to describe an object + 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 + + - + - + - + - + + True if the region denies access to age unverified users + + - - - Default constructor - + + This field is no longer used - - - Set the properties that are set in an ObjectPropertiesFamily packet - - that has - been partially filled by an ObjectPropertiesFamily packet + + The result of a request for parcel properties - - - - + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it - + - + Number of primitives your avatar is currently + selecting and sitting on in this parcel - - - - + + - + - + A number which increments by 1, starting at 0 for each ParcelProperties request. + Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. + a Negative number indicates the action in has occurred. - - - - - - + + Maximum primitives across the entire simulator - - - 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 + + Total primitives across the entire simulator - - - 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 + + Key of parcel snapshot - - - Unregister a callback - - The action - The callback to fire + + Parcel ownership status - - - - - - + + Total number of primitives on this parcel - - 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); - - + + A description of the media - - - 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); - - - + + An Integer which represents the height of the media - - - 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; }); - - + + An integer which represents the width of the media - - 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 boolean, if true the viewer should loop the media - - 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); - } - ); - - + + A string which contains the mime type of the media - - Check if Key exists in Dictionary - Key to check for - if found, otherwise + + true to obscure (hide) media url - - Check if Value exists in Dictionary - Value to check for - if found, otherwise + + true to obscure (hide) music url - + - Adds the specified key to the dictionary, dictionary locking is not performed, - + Serialize the object - The key - The value + An containing the objects data - + - Removes the specified key, dictionary locking is not performed + Deserialize the message - The key. - if successful, otherwise + An containing the data - - - Clear the contents of the dictionary - + + A message sent from the viewer to the simulator to updated a specific parcels settings - - - Enumerator for iterating dictionary entries - - + + The of the agent authorized to purchase this + parcel of land or a NULL if the sale is authorized to anyone - - - Gets the number of Key/Value pairs contained in the - + + true to enable auto scaling of the parcel media - - - Indexer for the dictionary - - The key - The value + + The category of this parcel used when search is enabled to restrict + search results - - - Holds group information for Avatars such as those you might find in a profile - + + A string containing the description to set - - true of Avatar accepts group notices + + The of the which allows for additional + powers and restrictions. - - Groups Key + + The which specifies how avatars which teleport + to this parcel are handled - - Texture Key for groups insignia + + The LocalID of the parcel to update settings on - - Name of the group + + A string containing the description of the media which can be played + to visitors - - Powers avatar has in the group + + - - Avatars Currently selected title + + - - true of Avatar has chosen to list this in their profile + + - - - Contains an animation currently being played by an agent - + + - - The ID of the animation asset + + - - A number to indicate start order of currently playing animations - On Linden Grids this number is unique per region, with OpenSim it is per client + + - + - - - Holds group information on an individual profile pick - + + - - - Retrieve friend status notifications, and retrieve avatar names and - profiles - + + - - The event subscribers, null of no subscribers + + - - Raises the AvatarAnimation Event - An AvatarAnimationEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the AvatarAppearance Event - A AvatarAppearanceEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the UUIDNameReply Event - A UUIDNameReplyEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + + Deserialize the message + + An containing the data - - The event subscribers, null of no subscribers + + + Serialize the object + + An containing the objects data - - Raises the AvatarInterestsReply Event - A AvatarInterestsReplyEventArgs object containing - the data sent from the simulator + + Base class used for the RemoteParcelRequest message - - Thread sync lock object + + + A message sent from the viewer to the simulator to request information + on a remote parcel + - - The event subscribers, null of no subscribers + + Local sim position of the parcel we are looking up - - Raises the AvatarPropertiesReply Event - A AvatarPropertiesReplyEventArgs object containing - the data sent from the simulator + + Region handle of the parcel we are looking up - - Thread sync lock object + + Region of the parcel we are looking up - - The event subscribers, null of no subscribers + + + Serialize the object + + An containing the objects data - - Raises the AvatarGroupsReply Event - A AvatarGroupsReplyEventArgs object containing - the data sent from the simulator + + + Deserialize the message + + An containing the data - - Thread sync lock object + + + A message sent from the simulator to the viewer in response to a + which will contain parcel information + - - The event subscribers, null of no subscribers + + The grid-wide unique parcel ID - - Raises the AvatarPickerReply Event - A AvatarPickerReplyEventArgs object containing - the data sent from the simulator + + + Serialize the object + + An containing the objects data - - Thread sync lock object + + + Deserialize the message + + An containing the data - - The event subscribers, null of no subscribers + + + A message containing a request for a remote parcel from a viewer, or a response + from the simulator to that request + - - Raises the ViewerEffectPointAt Event - A ViewerEffectPointAtEventArgs 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 ViewerEffectLookAt Event - A ViewerEffectLookAtEventArgs object containing - the data sent from the simulator + + + Serialize the object + + An containing the objects data - - Thread sync lock object + + + Deserialize the message + + An containing the data - - The event subscribers, null of no subscribers + + + Serialize the object + + An containing the objects data - - Raises the ViewerEffect Event - A ViewerEffectEventArgs object containing - the data sent from the simulator + + + Deserialize the message + + An containing the data - - Thread sync lock object + + + A message sent from the simulator to an agent which contains + the groups the agent is in + - - The event subscribers, null of no subscribers + + The Agent receiving the message - - Raises the AvatarPicksReply Event - A AvatarPicksReplyEventArgs object containing - the data sent from the simulator + + An array containing information + for each the agent is a member of - - Thread sync lock object + + An array containing information + for each the agent is a member of - - The event subscribers, null of no subscribers + + + Serialize the object + + An containing the objects data - - Raises the PickInfoReply Event - A PickInfoReplyEventArgs object containing - the data sent from the simulator + + + Deserialize the message + + An containing the data - - Thread sync lock object + + Group Details specific to the agent - - The event subscribers, null of no subscribers + + true of the agent accepts group notices - - Raises the AvatarClassifiedReply Event - A AvatarClassifiedReplyEventArgs object containing - the data sent from the simulator + + The agents tier contribution to the group - - Thread sync lock object + + The Groups - - The event subscribers, null of no subscribers + + The of the groups insignia - - Raises the ClassifiedInfoReply Event - A ClassifiedInfoReplyEventArgs object containing - the data sent from the simulator + + The name of the group - - Thread sync lock object + + The aggregate permissions the agent has in the group for all roles the agent + is assigned - + + An optional block containing additional agent specific information + + + true of the agent allows this group to be + listed in their profile + + - Represents other avatars + A message sent from the viewer to the simulator which + specifies the language and permissions for others to detect + the language specified - - - Tracks the specified avatar on your map - Avatar ID to track + + A string containng the default language + to use for the agent - + + true of others are allowed to + know the language setting + + - Request a single avatar name + Serialize the object - The avatar key to retrieve a name for + An containing the objects data - + - Request a list of avatar names + Deserialize the message - The avatar keys to retrieve names for + An containing the data - + - Start a request for Avatar Properties + An EventQueue message sent from the simulator to an agent when the agent + leaves a group - - + - Search for an avatar (first name, last name) + An Array containing the AgentID and GroupID - The name to search for - An ID to associate with this query - + - Start a request for Avatar Picks + Serialize the object - UUID of the avatar + An containing the objects data - + - Start a request for Avatar Classifieds + Deserialize the message - UUID of the avatar + An containing the data - + + 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 + + - Start a request for details of a specific profile pick + The request state - UUID of the avatar - UUID of the profile pick - + - Start a request for details of a specific profile classified + Serialize the object - UUID of the avatar - UUID of the profile classified + An containing the objects data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Deserialize the message + + An containing the data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + A message sent from the viewer to the simulator to request a temporary upload capability + which allows an asset to be uploaded + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The Capability URL sent by the simulator to upload the baked texture to - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + A message sent from the simulator that will inform the agent the upload is complete, + and the UUID of the uploaded asset + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The uploaded texture asset ID - + - 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. + 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 - 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 + + Object containing request or response - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Serialize the object + + An containing the objects data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Deserialize the message + + An containing the data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + A message sent from the simulator which indicates the minimum version required for + using voice chat + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Major Version Required - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Minor version required - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The name of the region sending the version requrements - - Raised when the simulator sends us data containing - an agents animation playlist + + + Serialize the object + + An containing the objects data - - Raised when the simulator sends us data containing - the appearance information for an agent + + + Deserialize the message + + An containing the data - - Raised when the simulator sends us data containing - agent names/id values + + + A message sent from the simulator to the viewer containing the + voice server URI + - - Raised when the simulator sends us data containing - the interests listed in an agents profile + + The Parcel ID which the voice server URI applies - - Raised when the simulator sends us data containing - profile property information for an agent + + The name of the region - - Raised when the simulator sends us data containing - the group membership an agent is a member of + + 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 - name/id pair + + + Serialize the object + + An containing the objects data - - Raised when the simulator sends us data containing - the objects and effect when an agent is pointing at + + + Deserialize the message + + An containing the data - - Raised when the simulator sends us data containing - the objects and effect when an agent is looking at + + + + - - Raised when the simulator sends us data containing - an agents viewer effect information + + - - Raised when the simulator sends us data containing - the top picks from an agents profile + + - - Raised when the simulator sends us data containing - the Pick details + + + Serialize the object + + An containing the objects data - - Raised when the simulator sends us data containing - the classified ads an agent has placed + + + Deserialize the message + + An containing the data - - Raised when the simulator sends us data containing - the details of a classified ad + + + 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 + - - 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); - } - } - } - - + + Object containing request or response - + - Construct a new instance of the AvatarAnimationEventArgs class + Serialize the object - The ID of the agent - The list of animations to start - - - Get the ID of the agent - - - Get the list of animations to start + An containing the objects data - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - - + + + Deserialize the message + + An containing the data - + - Construct a new instance of the AvatarAppearanceEventArgs class + A message sent from the simulator to the viewer to indicate + a Tasks scripts status. - 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 + + The Asset ID of the script - - Get the ID of the agent + + True of the script is compiled/ran using the mono interpreter, false indicates it + uses the older less efficient lsl2 interprter - - true if the agent is a trial account + + The Task containing the scripts - - Get the default agent texture + + true of the script is in a running state - - Get the agents appearance layer textures + + + Serialize the object + + An containing the objects data - - Get the for the agent + + + Deserialize the message + + An containing the data - - Represents the interests from the profile of an agent + + + A message containing the request/response used for updating a gesture + contained with an agents inventory + - - Get the ID of the agent + + Object containing request or response - - The properties of an agent + + + Serialize the object + + An containing the objects data - - Get the ID of the agent + + + Deserialize the message + + An containing the data - - Get the ID of the agent + + + A message request/response which is used to update a notecard contained within + a tasks inventory + - - Get the ID of the agent + + The of the Task containing the notecard asset to update - - Get the ID of the avatar + + The notecard assets contained in the tasks inventory - + - Represents an that can be worn on an avatar - such as a Shirt, Pants, etc. + Serialize the object + An containing the objects data - + - Represents a Wearable Asset, Clothing, Hair, Skin, Etc + Deserialize the message + An containing the data - + - Base class for all Asset types + 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 byte array containing the raw asset data + + + The Notecard AssetID to replace + - - True if the asset it only stored on the server temporarily + + + Serialize the object + + An containing the objects data - - A unique ID + + + Deserialize the message + + An containing the data - + - Construct a new Asset object + A message containing the request/response used for updating a notecard + contained with an agents inventory - + + Object containing request or response + + - Construct a new Asset object + Serialize the object - A unique specific to this asset - A byte array containing the raw asset data + An containing the objects data - + - Regenerates the AssetData byte array from the properties - of the derived class. + Deserialize the message + An containing the data - + - Decodes the AssetData, placing it in appropriate properties of the derived - class. + Serialize the object - True if the asset decoding succeeded, otherwise false + An containing the objects data - - The assets unique ID + + + Deserialize the message + + An containing the data - + - The "type" of asset, Notecard, Animation, etc + 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 name of the asset + + true of the script was successfully compiled by the simulator - - A string containing a short description of the asset + + A string containing the error which occured while trying + to update the script - - The Assets WearableType + + A new AssetID assigned to the script - - The For-Sale status of the object + + + A message sent from the viewer to the simulator + requesting the update of an existing script contained + within a tasks inventory + - - An Integer representing the purchase price of the asset + + if true, set the script mode to running - - The of the assets creator + + The scripts InventoryItem ItemID to update - - The of the assets current owner + + 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 of the assets prior owner + + The tasks which contains the script to update - - The of the Group this asset is set to + + + Serialize the object + + An containing the objects data - - True if the asset is owned by a + + + Deserialize the message + + An containing the data - - 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 + + + A message containing either the request or response used in updating a script inside + a tasks inventory + - - Initializes a new instance of an AssetWearable object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + Object containing request or response - + - Decode an assets byte encoded data to a string + Serialize the object - true if the asset data was decoded successfully + An containing the objects data - + - Encode the assets string represantion into a format consumable by the asset server + Deserialize the message + An containing the data - - Initializes a new instance of an AssetScriptBinary object + + + Response from the simulator to notify the viewer the upload is completed, and + the UUID of the script asset and its compiled status + - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + The uploaded texture asset ID - - Override the base classes AssetType + + true of the script was compiled successfully - + - Add a custom decoder callback + 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 key of the field to decode - The custom decode handler - + + 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 + + - Remove a custom decoder callback + Serialize the object - The key of the field to decode - The custom decode handler + An containing the objects data - + - Creates a formatted string containing the values of a Packet + Deserialize the message - The Packet - A formatted string of values of the nested items in the Packet object + An containing the data - + - Decode an IMessage object into a beautifully formatted string + A message containing either the request or response used in updating a script inside + an agents inventory - The IMessage object - Recursion level (used for indenting) - A formatted string containing the names and values of the source object - + + Object containing request or response + + - A custom decoder callback + Serialize the object - The key of the object - the data to decode - A string represending the fieldData + An containing the objects data - + - Class that handles the local asset cache + Deserialize the message + An containing the data - + - Default constructor + Serialize the object - A reference to the GridClient object + An containing the objects data - + - Disposes cleanup timer + Deserialize the message + An containing the data - + + Base class for Map Layers via Capabilities + + + + + - Only create timer when needed + Serialize the object + An containing the objects data - + - Return bytes read from the local asset cache, null if it does not exist + Deserialize the message - UUID of the asset we want to get - Raw bytes of the asset, or null on failure + An containing the data - + - Returns ImageDownload object of the - image from the local image cache, null if it does not exist + Sent by an agent to the capabilities server to request map layers - 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 + A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates - UUID of the asset - String with the file name of the cahced asset - + + An array containing LayerData items + + - Saves an asset to the local cache + Serialize the object - UUID of the asset - Raw bytes the asset consists of - Weather the operation was successfull + An containing the objects data - + - Get the file name of the asset stored with gived UUID + Deserialize the message - UUID of the asset - Null if we don't have that UUID cached on disk, file name if found in the cache folder + An containing the data - + - Checks if the asset exists in the local cache + An object containing map location details - UUID of the asset - True is the asset is stored in the cache, otherwise false - + + 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 + + - Wipes out entire cache + Serialize the object + An containing the objects data - + - Brings cache size to the 90% of the max size + Deserialize the message + An containing the data - + - Asynchronously brings cache size to the 90% of the max size + New as of 1.23 RC1, no details yet. - + - Adds up file sizes passes in a FileInfo array + Serialize the object + An containing the objects data - + - Checks whether caching is enabled + Deserialize the message + An containing the data - + - Periodically prune the cache + Serialize the object + An containing the objects data - + - Nicely formats file sizes + Deserialize the message - Byte size we want to output - String with humanly readable file size + An containing the data - + + A string containing the method used + + - Allows setting weather to periodicale prune the cache if it grows too big - Default is enabled, when caching is enabled - + A request sent from an agent to the Simulator to begin a new conference. + Contains a list of Agents which will be included in the conference + - + + An array containing the of the agents invited to this conference + + + The conferences Session ID + + - How long (in ms) between cache checks (default is 5 min.) + Serialize the object + An containing the objects data - + - Helper class for sorting files by their last accessed time + Deserialize the message + An containing the data - + - A linkset asset, containing a parent primitive and zero or more children - + A moderation request sent from a conference moderator + Contains an agent and an optional action to take + - - Initializes a new instance of an AssetPrim object + + 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" + + + + + - Initializes a new instance of an AssetPrim object + Serialize the object - A unique specific to this asset - A byte array containing the raw asset data + 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 - - - Override the base classes AssetType + + The conference SessionID - + - Only used internally for XML serialization/deserialization + Serialize the object + An containing the objects data - + - The deserialized form of a single primitive in a linkset asset + Deserialize the message + An containing the data - + - Represents a Landmark with RegionID and Position vector + Serialize the object + An containing the objects data - - UUID of the Landmark target region - - - Local position of the target - - - Construct an Asset of type Landmark - - + - Construct an Asset object of type Landmark + Deserialize the message - A unique specific to this asset - A byte array containing the raw asset data + An containing the data - + - Encode the raw contents of a string with the specific Landmark format + Serialize the object + An containing the objects data - + - Decode the raw asset data, populating the RegionID and Position + Deserialize the message - true if the AssetData was successfully decoded to a UUID and Vector - - - Override the base classes AssetType + An containing the data - + - Main class to expose grid functionality to clients. All of the - classes needed for sending and receiving data are accessible through - this class. + Serialize the object - - - // 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 + An containing the objects data - - Parcel (subdivided simulator lots) subsystem + + + Deserialize the message + + An containing the data - - Our own avatars subsystem + + Key of sender - - Other avatars subsystem + + Name of sender - - Estate subsystem + + Key of destination avatar - - Friends list subsystem + + ID of originating estate - - Grid (aka simulator group) subsystem + + Key of originating region - - Object subsystem + + Coordinates in originating region - - Group subsystem + + Instant message type - - Asset subsystem + + Group IM session toggle - - Appearance subsystem + + Key of IM session, for Group Messages, the groups UUID - - Inventory subsystem + + Timestamp of the instant message - - Directory searches including classifieds, people, land - sales, etc + + Instant message text - - Handles land, wind, and cloud heightmaps + + Whether this message is held for offline avatars - - Handles sound-related networking + + Context specific packed data - - Throttling total bandwidth usage, or allocating bandwidth - for specific data stream types + + Is this invitation for voice group/conference chat - + - Default constructor + Serialize the object + An containing the objects data - + - Return the full name of this instance + Deserialize the message - Client avatars full name + 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. - - 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 + Serialize the object + An containing the objects data - + - Used internally when building the initial list of friends at login time + Deserialize the message - 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 + An containing the data - + - FriendInfo represented as a string + An EventQueue message sent when the agent is forcibly removed from a chatterbox session - A string reprentation of both my rights and my friends rights - + - System ID of the avatar + A string containing the reason the agent was removed - + - full name of the avatar + The ChatterBoxSession's SessionID - + - True if the avatar is online + Serialize the object + An containing the objects data - + - True if the friend can see if I am online + Deserialize the message + An containing the data - + - True if the friend can see me on the map + Serialize the object + An containing the objects data - + - True if the freind can modify my objects + Deserialize the message + An containing the data - + - True if I can see if my friend is online + Serialize the object + An containing the objects data - + - True if I can see if my friend is on the map + Deserialize the message + An containing the data - + - True if I can modify my friend's objects + Serialize the object + An containing the objects data - + - My friend's rights represented as bitmapped flags + Deserialize the message + An containing the data - + - My rights represented as bitmapped flags + Serialize the object + An containing the objects data - + - This class is used to add and remove avatars from your friends list and to manage their permission. + Deserialize the message + An containing the data - - 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 + + + Serialize the object + + An containing the objects data - - The event subscribers. null if no subcribers + + + Deserialize the message + + An containing the data - - Raises the FriendFoundReply event - A FriendFoundReplyEventArgs object containing the - data returned from the data server + + + Serialize the object + + An containing the objects data - - Thread sync lock object + + + Deserialize the message + + An containing the data - + - A dictionary of key/value pairs containing known friends of this avatar. - - The Key is the of the friend, the value is a - object that contains detailed information including permissions you have and have given to the friend + Serialize the object + An containing the objects data - + - 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 + Deserialize the message + An containing the data - + - Internal constructor + A message sent from the viewer to the simulator which + specifies that the user has changed current URL + of the specific media on a prim face - A reference to the GridClient Object - + - Accept a friendship request + New URL - agentID of avatatar to form friendship with - imSessionID of the friendship request message - + - Decline a friendship request + Prim UUID where navigation occured - of friend - imSessionID of the friendship request message - + - Overload: Offer friendship to an avatar. + Face index - System ID of the avatar you are offering friendship to - + - Offer friendship to an avatar. + Serialize the object - System ID of the avatar you are offering friendship to - A message to send with the request + An containing the objects data - + - Terminate a friendship with an avatar + Deserialize the message - System ID of the avatar you are terminating the friendship with + An containing the data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Base class used for the ObjectMedia message - + - Change the rights of a friend avatar. + Message used to retrive prim media data - the of the friend - the new rights to give the friend - This method will implicitly set the rights to those passed in the rights parameter. - + - Use to map a friends location on the grid. + Prim UUID - Friends UUID to find - - + - Use to track a friends movement on the grid + Requested operation, either GET or UPDATE - Friends Key - + - Ask for a notification of friend's online status + Serialize object - Friend's UUID + Serialized object as OSDMap - + - This handles the asynchronous response of a RequestAvatarNames call. + Deserialize the message - - names cooresponding to the the list of IDs sent the the RequestAvatarNames call. + An containing the data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Message used to update prim media data + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Prim UUID + - + - Populate FriendList with data from the login reply + Array of media entries indexed by face number - 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 + + + Media version string + - - Raised when the simulator sends notification one of the members in our friends list goes offline + + + Serialize object + + Serialized object as OSDMap - - Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions + + + Deserialize the message + + An containing the data - - Raised when the simulator sends us the names on our friends list + + + Message used to update prim media data + - - Raised when the simulator sends notification another agent is offering us friendship + + + Prim UUID + - - Raised when a request we sent to friend another agent is accepted or declined + + + Array of media entries indexed by face number + - - Raised when the simulator sends notification one of the members in our friends list has terminated - our friendship + + + Requested operation, either GET or UPDATE + - - Raised when the simulator sends the location of a friend we have - requested map location info for + + + Serialize object + + Serialized object as OSDMap - - Contains information on a member of our friends list + + + Deserialize the message + + An containing the data - + - Construct a new instance of the FriendInfoEventArgs class + Message for setting or getting per face MediaEntry - The FriendInfo - - Get the FriendInfo + + The request or response details block - - Contains Friend Names + + + Serialize the object + + An containing the objects data - + - Construct a new instance of the FriendNamesEventArgs class + Deserialize the message - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name + An containing the data - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name + + Details about object resource usage - - Sent when another agent requests a friendship with our agent + + Object UUID - - - 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 + + Object name - - Get the ID of the agent requesting friendship + + Indicates if object is group owned - - Get the name of the agent requesting friendship + + Locatio of the object - - Get the ID of the session, used in accepting or declining the - friendship offer + + Object owner - - A response containing the results of our request to form a friendship with another agent + + Resource usage, keys are resource names, values are resource usage for that specific resource - + - Construct a new instance of the FriendShipResponseEventArgs class + Deserializes object from OSD - 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 + An containing the data - - Get the ID of the agent we requested a friendship with + + + Makes an instance based on deserialized data + + serialized data + Instance containg deserialized data - - Get the name of the agent we requested a friendship with + + Details about parcel resource usage - - true if the agent accepted our friendship offer + + Parcel UUID - - Contains data sent when a friend terminates a friendship with us + + Parcel local ID - - - 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 + + Parcel name - - Get the ID of the agent that terminated the friendship with us + + Indicates if parcel is group owned - - Get the name of the agent that terminated the friendship with us + + Parcel owner - + + Array of containing per object resource usage + + - Data sent in response to a request which contains the information to allow us to map the friends location + Deserializes object from OSD + An containing the data - + - Construct a new instance of the FriendFoundReplyEventArgs class + Makes an instance based on deserialized data - The ID of the agent we have requested location information for - The region handle where our friend is located - The simulator local position our friend is located + serialized data + Instance containg deserialized data - - Get the ID of the agent we have received location information for + + Resource usage base class, both agent and parcel resource + usage contains summary information - - Get the region handle where our mapped friend is located + + Summary of available resources, keys are resource names, + values are resource usage for that specific resource - - Get the simulator local position where our friend is located + + Summary resource usage, keys are resource names, + values are resource usage for that specific resource - + - + Serializes object + serialized data - - OK + + + Deserializes object from OSD + + An containing the data - - Transfer completed + + Agent resource usage - - + + Per attachment point object resource usage - - + + + Deserializes object from OSD + + An containing the data - - Unknown error occurred + + + Makes an instance based on deserialized data + + serialized data + Instance containg deserialized data - - Equivalent to a 404 error - - - Client does not have permission for that resource - - - Unknown status - - + - + Detects which class handles deserialization of this message + An containing the data + Object capable of decoding this message - - + + Request message for parcel resource usage - - Unknown + + UUID of the parel to request resource usage info - - Virtually all asset transfers use this channel + + + Serializes object + + serialized data - + - + Deserializes object from OSD + An containing the data - - + + Response message for parcel resource usage - - Asset from the asset server + + URL where parcel resource usage details can be retrieved - - Inventory item + + URL where parcel resource usage summary can be retrieved - - Estate asset, such as an estate covenant + + + 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 - - - - - - - + - Image file format + Type of gesture step - + - + Base class for gesture steps - - Number of milliseconds passed since the last transfer - packet was received + + + Retururns what kind of gesture step this is + - + - + Describes animation step of a gesture - + - + If true, this step represents start of animation, otherwise animation stop - + - + Animation asset - + - + Animation inventory name - + - + Returns what kind of gesture step this is - + - + Describes sound step of a gesture - - - - - + - + Sound asset - - Number of milliseconds to wait for a transfer header packet if out of order data was received + + + Sound inventory name + - - The event subscribers. null if no subcribers + + + Returns what kind of gesture step this is + - - Raises the XferReceived event - A XferReceivedEventArgs object containing the - data returned from the simulator + + + Describes sound step of a gesture + - - Thread sync lock object + + + Text to output in chat + - - The event subscribers. null if no subcribers + + + Returns what kind of gesture step this is + - - Raises the AssetUploaded event - A AssetUploadedEventArgs object containing the - data returned from the simulator + + + Describes sound step of a gesture + - - Thread sync lock object + + + If true in this step we wait for all animations to finish + - - The event subscribers. null if no subcribers + + + If true gesture player should wait for the specified amount of time + - - Raises the UploadProgress event - A UploadProgressEventArgs object containing the - data returned from the simulator + + + Time in seconds to wait if WaitForAnimation is false + - - Thread sync lock object + + + Returns what kind of gesture step this is + - - The event subscribers. null if no subcribers + + + Describes the final step of a gesture + - - Raises the InitiateDownload event - A InitiateDownloadEventArgs object containing the - data returned from the simulator + + + Returns what kind of gesture step this is + - - Thread sync lock object + + + Represents a sequence of animations, sounds, and chat actions + - - The event subscribers. null if no subcribers + + + Base class for all Asset types + - - Raises the ImageReceiveProgress event - A ImageReceiveProgressEventArgs object containing the - data returned from the simulator + + A byte array containing the raw asset data - - Thread sync lock object + + True if the asset it only stored on the server temporarily - - Texture download cache + + A unique ID - + - Default constructor + Construct a new Asset object - A reference to the GridClient object - + - Request an asset download + Construct a new Asset object - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - The callback to fire when the simulator responds with the asset data + A unique specific to this asset + A byte array containing the raw asset data - + - Request an asset download + Regenerates the AssetData byte array from the properties + of the derived class. - 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 + Decodes the AssetData, placing it in appropriate properties of the derived + class. - 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 + True if the asset decoding succeeded, otherwise false - + + The assets unique ID + + - Request an asset download through the almost deprecated Xfer system + The "type" of asset, Notecard, Animation, etc - 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 - - + - + Keyboard key that triggers the gestyre - 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 + Modifier to the trigger key - An AssetUpload object containing the data to upload to the simulator - + - Request an asset be uploaded to the simulator + String that triggers playing of the gesture sequence - 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 + Text that replaces trigger in chat once gesture is triggered - 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 + Sequence of gesture steps - - 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 + Constructs guesture asset - 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; - } - } - } - - + + + Constructs guesture asset + + A unique specific to this asset + A byte array containing the raw 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 + Encodes gesture asset suitable for uplaod - 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 + Decodes gesture assset into play sequence - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data + true if the asset data was decoded successfully - + - 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 + Returns asset type - 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 + Archives assets - The texture assets - + - Requests download of a mesh asset + Archive assets - UUID of the mesh asset - Callback when the request completes - + - Lets TexturePipeline class fire the progress event + Archive the assets given to this archiver to the given archive. - 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 + + + Write an assets metadata file to the given archive + + - - 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 + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Constants for the archiving module + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised when the simulator responds sends + + + The location of the archive control file + - - Raised during upload completes + + + Path for the assets held in an archive + - - Raised during upload with progres update + + + Path for the prims file + - - Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files + + + Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. + - - Fired when a texture is in the process of being downloaded by the TexturePipeline class + + + Path for region settings. + - + - Callback used for various asset download requests + The character the separates the uuid from extension information in an archived asset filename - Transfer information - Downloaded asset, null on fail - + - Callback used upon competition of baked texture upload + Extensions used for asset types in the archive - Asset UUID of the newly uploaded baked texture - + - A callback that fires upon the completition of the RequestMesh call + Capabilities is the name of the bi-directional HTTP REST protocol + used to communicate non real-time transactions such as teleporting or + group messaging - Was the download successfull - Resulting mesh or null on problems - - Xfer data + + Reference to the simulator this system is connected to - - Upload data + + + Default constructor + + + - - Filename used on the simulator + + + 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 - - Filename used by the client + + + Process any incoming events, check to see if we have a message created for the event, + + + - - UUID of the image that is in progress + + Capabilities URI this system was initialized with - - Number of bytes received so far + + Whether the capabilities event queue is connected and + listening for incoming events - - Image size in bytes + + + Triggered when an event is received via the EventQueueGet + capability + + Event name + Decoded event data + The simulator that generated the event @@ -3675,21394 +3341,21728 @@ Maximum bits per second the entire connection, divided up between invidiual streams using default multipliers - + - Represents an LSL Text object containing a string of UTF encoded characters + Particle system specific enumerators, flags and methods. - - A string of characters represting the script contents + + - - Initializes a new AssetScriptText object + + - - - Initializes a new AssetScriptText object with parameters - - A unique specific to this asset - A byte array containing the raw asset data + + - - - Encode a string containing the scripts contents into byte encoded AssetData - + + - - - Decode a byte array containing the scripts contents into a string - - true if decoding is successful + + - - Override the base classes AssetType + + - - - - + + Foliage type for this primitive. Only applicable if this + primitive is foliage - - + + Unknown - + - + - + - + - + - + - + - + - + - + - + - + - - + + Identifies the owner if audio or a particle system is + active - + - + - + - + - + - + - + - - - - + + - + - + - + - + - + - + Default constructor - - - + - + Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters in to signed eight bit values + Floating point parameter to pack + Signed eight bit value containing the packed parameter - - - - - - - - + + + Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters from signed eight bit integers to floating point values + + Signed eight bit value to unpack + Unpacked floating point value - + - + - + Current version of the media data for the prim - - - + - + Array of media entries indexed by face number - + - + - + + Uses basic heuristics to estimate the primitive shape + + + + Parameters used to construct a visual representation of a primitive + + + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Attachment point to an avatar + + + + + + + + + + + + + + - + Information on the flexible properties of a primitive - + - + - + - + - + - + + + + - + Default constructor - - - + - - + + - + - - + - - - + - + Information on the light properties of a primitive - + + + + + + + + + + + + + + + + - + Default constructor - - - + - - + + - + - + - + - Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. + + - + - Rotation Keyframe count (used internally) + Information on the sculpt properties of a sculpted primitive - + - Position Keyframe count (used internally) + Default constructor - + - Animation Priority + + + - + - The animation length in seconds. + Render inside out (inverts the normals). - + - Expression set in the client. Null if [None] is selected + Render an X axis mirror of the sculpty. - + - The time in seconds to start the animation + Extended properties to describe an object - - - The time in seconds to end the animation - + + - - - Loop the animation - + + - - - Meta data. Ease in Seconds. - + + - - - Meta data. Ease out seconds. - + + - - - Meta Data for the Hand Pose - + + - - - Number of joints defined in the animation - + + - - - Contains an array of joints - + + - - - Searialize an animation asset into it's joints/keyframes/meta data - - + + - - - Variable length strings seem to be null terminated in the animation asset.. but.. - use with caution, home grown. - advances the index. - - The animation asset byte array - The offset to start reading - a string + + - - - Read in a Joint from an animation asset byte array - Variable length Joint fields, yay! - Advances the index - - animation asset byte array - Byte Offset of the start of the joint - The Joint data serialized into the binBVHJoint structure - - - - Read Keyframes of a certain type - advance i - - Animation Byte array - Offset in the Byte Array. Will be advanced - Number of Keyframes - Scaling Min to pass to the Uint16ToFloat method - Scaling Max to pass to the Uint16ToFloat method - - - - - A Joint and it's associated meta data and keyframes - + + - - - Name of the Joint. Matches the avatar_skeleton.xml in client distros - + + - - - Joint Animation Override? Was the same as the Priority in testing.. - + + - - - Array of Rotation Keyframes in order from earliest to latest - + + - - - Array of Position Keyframes in order from earliest to latest - This seems to only be for the Pelvis? - + + - - - A Joint Keyframe. This is either a position or a rotation. - + + - - - Either a Vector3 position or a Vector3 Euler rotation - + + - - - Poses set in the animation metadata for the hands. - + + - - - Interface requirements for Messaging system - + + - - - Represents a texture - + + - - A object containing image data + + - + - + - - Initializes a new instance of an AssetTexture object + + - + - Initializes a new instance of an AssetTexture object + Default constructor - A unique specific to this asset - A byte array containing the raw asset data - + - Initializes a new instance of an AssetTexture object + Set the properties that are set in an ObjectPropertiesFamily packet - A object containing texture data + that has + been partially filled by an ObjectPropertiesFamily packet - + - Populates the byte array with a JPEG2000 - encoded image created from the data in + Complete structure for the particle system - - - Decodes the JPEG2000 data in AssetData to the - object - - True if the decoding was successful, otherwise false + + 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 - - - Decodes the begin and end byte positions for each quality layer in - the image - - + + pattern of particles - - Override the base classes AssetType + + 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. - - - Thrown when a packet could not be successfully deserialized - + + A representing the number of meters + around the center of the source where particles will be created. - - - Default constructor - + + A representing in seconds, the minimum speed between bursts of new particles + being emitted - - - Constructor that takes an additional error message - - An error message to attach to this exception + + A representing in seconds the maximum speed of new particles being emitted. - - - 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 - + + A representing the maximum number of particles emitted per burst - - - 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 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 - + - A block of data in a packet. Packets are composed of one or more blocks, - each block containing one or more fields + Particle source pattern - - - 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 + + None - - - 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 + + Drop particles from source position with no force - - Current length of the data in this packet + + "Explode" particles in all directions - - A generic value, not an actual packet type + + Particles shoot across a 2D area - - - 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 + + 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 - - + + Use Estate Voice channel for Voice on this parcel - - + + Deny Age Unverified Users - - + + + Parcel ownership status + - - + + Placeholder - - + + Parcel is leased (owned) by an avatar or group - - + + Parcel is in process of being leased (purchased) by an avatar or group - - + + Parcel has been abandoned back to Governor Linden - - + + + Category parcel is listed in under search + - - + + No assigned category - - + + Linden Infohub or public area - - + + Adult themed area - - + + Arts and Culture - - + + Business - - + + Educational - - + + Gaming - - + + Hangout or Club - - + + Newcomer friendly - - + + Parks and Nature - - + + Residential - - + + Shopping - - + + Not Used? - - + + Other - - + + Not an actual category, only used for queries - - + + + Type of teleport landing for a parcel + - - + + Unset, simulator default - - + + Specific landing point set for this parcel - - + + No landing point set, direct teleports enabled for + this parcel - - + + + Parcel Media Command used in ParcelMediaCommandMessage + - - - - - - - - + + Stop the media stream and go back to the first frame - - + + Pause the media stream (stop playing but stay on current frame) - - + + Start the current media stream playing and stop when the end is reached - - The event subscribers. null if no subcribers + + Start the current media stream playing, + loop to the beginning when the end is reached and continue to play - - Raises the LandPatchReceived event - A LandPatchReceivedEventArgs object containing the - data returned from the simulator + + 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. - - Thread sync lock object + + Specifies the movie URL (254 characters max) - - - Default constructor - - + + Specifies the time index at which to begin playing - - Raised when the simulator responds sends + + Specifies a single agent to apply the media command to - - Simulator from that sent tha data + + 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. - - Sim coordinate of the patch + + 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. - - Sim coordinate of the patch + + Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). + Use "text/html" for HTML. - - Size of tha patch + + Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). + This might still not be working - - Heightmap for the patch + + Sets a description for the media being displayed (1.19.1 RC0 and later only). - + - + Some information about a parcel of land returned from a DirectoryManager search - - 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 + + Global Key of record - - The event subscribers, null of no subscribers + + Parcel Owners - - Raises the AttachedSoundGainChange Event - A AttachedSoundGainChangeEventArgs object containing - the data sent from the simulator + + Name field of parcel, limited to 128 characters - - Thread sync lock object + + Description field of parcel, limited to 256 characters - - The event subscribers, null of no subscribers + + Total Square meters of parcel - - Raises the SoundTrigger Event - A SoundTriggerEventArgs object containing - the data sent from the simulator + + Total area billable as Tier, for group owned land this will be 10% less than ActualArea - - Thread sync lock object + + True of parcel is in Mature simulator - - The event subscribers, null of no subscribers + + Grid global X position of parcel - - Raises the PreloadSound Event - A PreloadSoundEventArgs object containing - the data sent from the simulator + + Grid global Y position of parcel - - Thread sync lock object + + Grid global Z position of parcel (not used) - - - Construct a new instance of the SoundManager class, used for playing and receiving - sound assets - - A reference to the current GridClient instance + + Name of simulator parcel is located in - - - Plays a sound in the current region at full volume from avatar position - - UUID of the sound to be played + + Texture of parcels display picture - - - 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. + + Float representing calculated traffic based on time spent on parcel by avatars - - - 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 + + Sale price of parcel (not used) - - - 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 + + Auction ID of parcel - + - Play a sound asset + Parcel Media Information - UUID of the sound to be played. - handle id for the sim to be played in. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + A byte, if 0x1 viewer should auto scale media to fit object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + A boolean, if true the viewer should loop the media - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The Asset UUID of the Texture which when applied to a + primitive will display the media - - Raised when the simulator sends us data containing - sound + + A URL which points to any Quicktime supported media type - - Raised when the simulator sends us data containing - ... + + A description of the media - - Raised when the simulator sends us data containing - ... + + An Integer which represents the height of the media - - Raised when the simulator sends us data containing - ... + + An integer which represents the width of the media - - 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 ... - } - - + + A string which contains the mime type of the media - + - Construct a new instance of the SoundTriggerEventArgs class + Parcel of land, a portion of virtual real estate in a simulator - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The volume level - The - - Simulator where the event originated + + The total number of contiguous 4x4 meter blocks your agent owns within this parcel - - Get the sound asset id + + The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own - - Get the ID of the owner + + Deprecated, Value appears to always be 0 - - Get the ID of the Object + + Simulator-local ID of this parcel - - Get the volume level + + UUID of the owner of this parcel - - Get the + + Whether the land is deeded to a group or not - - Provides data for the event - The event occurs when an attached sound - changes its volume level + + - - - Construct a new instance of the AttachedSoundGainChangedEventArgs class - - Simulator where the event originated - The ID of the Object - The new volume level + + Date land was claimed - - Simulator where the event originated + + Appears to always be zero - - Get the ID of the Object + + This field is no longer used - - Get the volume level + + Minimum corner of the axis-aligned bounding box for this + parcel - - 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); - } - - + + Maximum corner of the axis-aligned bounding box for this + parcel - - - 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 + + Bitmap describing land layout in 4x4m squares across the + entire region - - Simulator where the event originated + + Total parcel land area - - Get the sound asset id + + - - Get the ID of the owner + + Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used - - Get the ID of the Object + + Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel + owned by the agent or group that owns this parcel - - Get the ID of the objects parent + + Maximum number of primitives this parcel supports - - Get the volume level + + Total number of primitives on this parcel - - Get the regionhandle + + 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 - - Get the source position + + 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. - - 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") - } - - + + Total number of prims owned by other avatars that are not set to group, or not the parcel owner - - - 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 + + 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 - - Simulator where the event originated + + Autoreturn value in minutes for others' objects - - Get the sound asset id + + - - Get the ID of the owner + + 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 ID of the Object + + Parcel Name - - - Temporary code to produce a tar archive in tar v7 format - + + Parcel Description - - - Binary writer for the underlying stream - + + URL For Music 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 - - - + + Price for a temporary pass - - - Write a file to the tar archive - - - + + How long is pass valid for - - - Finish writing the raw tar archive data to a stream. The stream will be closed on completion. - + + - - - Write a particular entry - - - - + + Key of authorized buyer - - - Temporary code to do the bare minimum required to read a tar archive for our purposes - + + Key of parcel snapshot - - - Binary reader for the underlying stream - + + The landing point location - - - Used to trim off null chars - + + The landing point LookAt - - - Used to trim off space chars - + + The type of landing enforced from the enum - - - Generate a tar reader which reads from the given stream. - - + + - + + + + + + + + Access list of who is whitelisted on this + parcel + + + Access list of who is blacklisted on this + parcel + + + TRUE of region denies access to age unverified users + + + true to obscure (hide) media url + + + true to obscure (hide) music url + + + A struct containing media details + + - Read the next entry in the tar file. + Displays a parcel object in string format - - - the data for the entry. Returns null if there are no more entries + string containing key=value pairs of a parcel object - + - Read the next 512 byte chunk of data as a tar header. + Defalt constructor - A tar header struct. null if we have reached the end of the archive. + Local ID of this parcel - + - Read data following a header + 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 - + - Convert octal bytes to a decimal representation + Set Autoreturn time - - - - + Simulator to send the update to - + - Type of return to use when returning objects from a parcel + Parcel (subdivided simulator lots) subsystem - - - - - Return objects owned by parcel owner - - - Return objects set to group - - - Return objects not owned by parcel owner or set to group + + The event subscribers. null if no subcribers - - Return a specific list of objects on parcel + + Raises the ParcelDwellReply event + A ParcelDwellReplyEventArgs object containing the + data returned from the simulator - - Return objects that are marked for-sale + + Thread sync lock object - - - Blacklist/Whitelist flags used in parcels Access List - + + The event subscribers. null if no subcribers - - Agent is denied access + + Raises the ParcelInfoReply event + A ParcelInfoReplyEventArgs object containing the + data returned from the simulator - - Agent is granted access + + Thread sync lock object - - - The result of a request for parcel properties - + + The event subscribers. null if no subcribers - - No matches were found for the request + + Raises the ParcelProperties event + A ParcelPropertiesEventArgs object containing the + data returned from the simulator - - Request matched a single parcel + + Thread sync lock object - - Request matched multiple parcels + + The event subscribers. null if no subcribers - - - Flags used in the ParcelAccessListRequest packet to specify whether - we want the access list (whitelist), ban list (blacklist), or both - + + Raises the ParcelAccessListReply event + A ParcelAccessListReplyEventArgs object containing the + data returned from the simulator - - Request the access list + + Thread sync lock object - - Request the ban list + + The event subscribers. null if no subcribers - - Request both White and Black lists + + Raises the ParcelObjectOwnersReply event + A ParcelObjectOwnersReplyEventArgs object containing the + data returned from the simulator - - - Sequence ID in ParcelPropertiesReply packets (sent when avatar - tries to cross a parcel border) - + + Thread sync lock object - - Parcel is currently selected + + The event subscribers. null if no subcribers - - Parcel restricted to a group the avatar is not a - member of + + Raises the SimParcelsDownloaded event + A SimParcelsDownloadedEventArgs object containing the + data returned from the simulator - - Avatar is banned from the parcel + + Thread sync lock object - - Parcel is restricted to an access list that the - avatar is not on + + The event subscribers. null if no subcribers - - Response to hovering over a parcel + + Raises the ForceSelectObjectsReply event + A ForceSelectObjectsReplyEventArgs object containing the + data returned from the simulator - - - The tool to use when modifying terrain levels - + + Thread sync lock object - - Level the terrain + + The event subscribers. null if no subcribers - - Raise the terrain + + Raises the ParcelMediaUpdateReply event + A ParcelMediaUpdateReplyEventArgs object containing the + data returned from the simulator - - Lower the terrain + + Thread sync lock object - - Smooth the terrain + + The event subscribers. null if no subcribers - - Add random noise to the terrain + + Raises the ParcelMediaCommand event + A ParcelMediaCommandEventArgs object containing the + data returned from the simulator - - Revert terrain to simulator default + + Thread sync lock object - + - The tool size to use when changing terrain levels + Default constructor + A reference to the GridClient object - - Small - - - Medium - - - Large - - + - Reasons agent is denied access to a parcel on the simulator + Request basic information for a single parcel + Simulator-local ID of the parcel - - 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 + Request properties of a single parcel - 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 + 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 - - Public land + + + 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 + - - Land is owned by another avatar + + + 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 - - Land is owned by a group + + + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) + + Simulator to request parcels from (must be connected) - - Land is owned by the current avatar + + + 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 - - Land is for sale + + + Request the dwell value for a parcel + + Simulator containing the parcel + Simulator-local ID of the parcel - - Land is being auctioned + + + 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 + - - To the west of this area is a parcel border + + + Reclaim a parcel of land + + The simulator the parcel is in + The parcels region specific local ID - - To the south of this area is a parcel border + + + Deed a parcel to a group + + The simulator the parcel is in + The parcels region specific local ID + The groups - + - Various parcel properties + Request prim owners of a parcel of land. + Simulator parcel is in + The parcels region specific local ID - - No flags set + + + 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 - - Allow avatars to fly (a client-side only restriction) + + + Subdivide (split) a parcel + + + + + + - - Allow foreign scripts to run + + + Join two parcels of land creating a single parcel + + + + + + - - This parcel is for sale + + + 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. - - Allow avatars to create a landmark on this 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 + 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() - - Allows all avatars to edit the terrain on this parcel + + + 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() - - Avatars have health and can take damage on this parcel. - If set, avatars can be killed and sent home here + + + 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() - - Foreign avatars can create objects here + + + 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 - - All objects on this parcel can be purchased + + + 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 - - Access is restricted to a group + + + Eject and optionally ban a user from a parcel + + target key of avatar to eject + true to also ban target - - Access is restricted to a whitelist + + + Freeze or unfreeze an avatar over your land + + target key to freeze + true to freeze, false to unfreeze - - Ban blacklist is enabled + + + Abandon a parcel of land + + Simulator parcel is in + Simulator local ID of parcel - - Unknown + + + 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 - - List this parcel in the search directory - - - Allow personally owned parcels to be deeded to group + + + 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 - - If Deeded, owner contributes required tier to group parcel is deeded to + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - Restrict sounds originating on this parcel to the - parcel boundaries + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - Objects on this parcel are sold when the land is - purchsaed + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - Allow this parcel to be published on the web + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - The information for this parcel is mature content + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - The media URL is an HTML page + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The media URL is a raw HTML string + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - Restrict foreign object pushes + + Raised when the simulator responds to a request - - Ban all non identified/transacted avatars + + Raised when the simulator responds to a request - - Allow group-owned scripts to run + + Raised when the simulator responds to a request - - Allow object creation by group members or group - objects + + Raised when the simulator responds to a request - - Allow all objects to enter this parcel + + Raised when the simulator responds to a request - - Only allow group and owner objects to enter this parcel + + Raised when the simulator responds to a request - - Voice Enabled on this parcel + + Raised when the simulator responds to a request - - Use Estate Voice channel for Voice on this parcel + + Raised when the simulator responds to a Parcel Update request - - Deny Age Unverified Users + + Raised when the parcel your agent is located sends a ParcelMediaCommand - + - Parcel ownership status + Parcel Accesslist - - Placeholder - - - Parcel is leased (owned) by an avatar or group + + Agents - - Parcel is in process of being leased (purchased) by an avatar or group + + - - Parcel has been abandoned back to Governor Linden + + Flags for specific entry in white/black lists - + - Category parcel is listed in under search + Owners of primitives on parcel - - No assigned category - - - Linden Infohub or public area - - - Adult themed area - - - Arts and Culture + + Prim Owners - - Business + + True of owner is group - - Educational + + Total count of prims owned by OwnerID - - Gaming + + true of OwnerID is currently online and is not a group - - Hangout or Club + + The date of the most recent prim left by OwnerID - - Newcomer friendly + + + Called once parcel resource usage information has been collected + + Indicates if operation was successfull + Parcel resource usage information - - Parks and Nature + + Contains a parcels dwell data returned from the simulator in response to an - - Residential + + + 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 - - Shopping + + Get the global ID of the parcel - - Not Used? + + Get the simulator specific ID of the parcel - - Other + + Get the calculated dwell - - Not an actual category, only used for queries + + Contains basic parcel information data returned from the + simulator in response to an request - + - Type of teleport landing for a parcel + Construct a new instance of the ParcelInfoReplyEventArgs class + The object containing basic parcel info - - Unset, simulator default - - - Specific landing point set for this parcel + + Get the object containing basic parcel info - - No landing point set, direct teleports enabled for - this parcel + + Contains basic parcel information data returned from the simulator in response to an request - + - Parcel Media Command used in ParcelMediaCommandMessage + 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: - - Stop the media stream and go back to the first frame - - - Pause the media stream (stop playing but stay on current frame) + + Get the simulator the parcel is located in - - Start the current media stream playing and stop when the end is reached + + Get the object containing the details + If Result is NoData, this object will not contain valid data - - Start the current media stream playing, - loop to the beginning when the end is reached and continue to play + + Get the result of the request - - 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. + + Get the number of primitieves your agent is + currently selecting and or sitting on in this parcel - - Specifies the movie URL (254 characters max) + + Get the user assigned ID used to correlate a request with + these results - - Specifies the time index at which to begin playing + + TODO: - - Specifies a single agent to apply the media command to + + Contains blacklist and whitelist data returned from the simulator in response to an request - - Unloads the stream. While the stop command sets the texture to the first frame of the movie, - unload resets it to the real texture that the movie was replacing. - - - Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties - (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. - - - Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). - Use "text/html" for HTML. - - - Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). - This might still not be working - - - Sets a description for the media being displayed (1.19.1 RC0 and later only). - - + - Some information about a parcel of land returned from a DirectoryManager search + 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 - - Global Key of record + + Get the simulator the parcel is located in - - Parcel Owners + + Get the user assigned ID used to correlate a request with + these results - - Name field of parcel, limited to 128 characters + + Get the simulator specific ID of the parcel - - Description field of parcel, limited to 256 characters + + TODO: - - Total Square meters of parcel + + Get the list containing the white/blacklisted agents for the parcel - - Total area billable as Tier, for group owned land this will be 10% less than ActualArea + + Contains blacklist and whitelist data returned from the + simulator in response to an request - - True of parcel is in Mature simulator + + + Construct a new instance of the ParcelObjectOwnersReplyEventArgs class + + The simulator the parcel is located in + The list containing prim ownership counts - - Grid global X position of parcel + + Get the simulator the parcel is located in - - Grid global Y position of parcel + + Get the list containing prim ownership counts - - Grid global Z position of parcel (not used) + + Contains the data returned when all parcel data has been retrieved from a simulator - - Name of simulator parcel is located in + + + 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. - - Texture of parcels display picture + + Get the simulator the parcel data was retrieved from - - Float representing calculated traffic based on time spent on parcel by avatars + + A dictionary containing the parcel data where the key correlates to the ParcelMap entry - - Sale price of parcel (not used) + + Get the multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. - - Auction ID of parcel + + Contains the data returned when a request - + - Parcel Media Information + 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 - - A byte, if 0x1 viewer should auto scale media to fit object + + Get the simulator the parcel data was retrieved from - - A boolean, if true the viewer should loop the media + + Get the list of primitive IDs - - The Asset UUID of the Texture which when applied to a - primitive will display the media + + true if the list is clean and contains the information + only for a given request - - A URL which points to any Quicktime supported media type + + Contains data when the media data for a parcel the avatar is on changes - - A description of the media + + + Construct a new instance of the ParcelMediaUpdateReplyEventArgs class + + the simulator the parcel media data was updated in + The updated media information - - An Integer which represents the height of the media + + Get the simulator the parcel media data was updated in - - An integer which represents the width of the media + + Get the updated media information - - A string which contains the mime type of the media + + Contains the media command for a parcel the agent is currently on - + - Parcel of land, a portion of virtual real estate in a simulator + Construct a new instance of the ParcelMediaCommandEventArgs class + The simulator the parcel media command was issued in + + + The media command that was sent + - - The total number of contiguous 4x4 meter blocks your agent owns within this parcel - - - The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own - - - Deprecated, Value appears to always be 0 + + Get the simulator the parcel media command was issued in - - Simulator-local ID of this parcel + + - - UUID of the owner of this parcel + + - - Whether the land is deeded to a group or not + + Get the media command that was sent - + - - Date land was claimed + + + + - - Appears to always be zero + + + + - - This field is no longer used + + + + - - Minimum corner of the axis-aligned bounding box for this - parcel + + + + - - Maximum corner of the axis-aligned bounding box for this - parcel + + + + + + - - Bitmap describing land layout in 4x4m squares across the - entire region + + + 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 - - Total parcel land area + + + 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 - - Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used + + + Unregister a callback + + The action + The callback to fire - - Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel - owned by the agent or group that owns this parcel + + + + + + - - Maximum number of primitives this parcel supports + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking - - Total number of primitives on this parcel + + + 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>(); + + - - 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 + + + 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); + + - - 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. + + + 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); + + + - - Total number of prims owned by other avatars that are not set to group, or not the parcel owner + + + 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; }); + + - - 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 + + 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)); + } + ); + + - - Autoreturn value in minutes for others' objects + + 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 - - 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 + + Check if Value exists in Dictionary + Value to check for + if found, otherwise - - Parcel Name + + + Adds the specified key to the dictionary, dictionary locking is not performed, + + + The key + The value - - Parcel Description + + + Removes the specified key, dictionary locking is not performed + + The key. + if successful, otherwise - - URL For Music Stream + + + Clear the contents of the dictionary + - - + + + Enumerator for iterating dictionary entries + + - - Price for a temporary pass + + + Gets the number of Key/Value pairs contained in the + - - How long is pass valid for + + + Indexer for the dictionary + + The key + The value - - + + + Avatar group management + - - Key of authorized buyer + + Key of Group Member - - Key of parcel snapshot + + Total land contribution - - The landing point location + + Online status information - - The landing point LookAt + + Abilities that the Group Member has - - The type of landing enforced from the enum + + Current group title - - + + Is a group owner - - + + + Role manager for a group + - - + + Key of the group - - Access list of who is whitelisted on this - parcel + + Key of Role - - Access list of who is blacklisted on this - parcel + + Name of Role - - TRUE of region denies access to age unverified users + + Group Title associated with Role - - true to obscure (hide) media url + + Description of Role - - true to obscure (hide) music url + + Abilities Associated with Role - - A struct containing media details + + Returns the role's title + The role's title - + - Displays a parcel object in string format + Class to represent Group Title - string containing key=value pairs of a parcel object - + + Key of the group + + + ID of the role title belongs to + + + Group Title + + + Whether title is Active + + + Returns group title + + - Defalt constructor + Represents a group on the grid - 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 + + Key of Group - - - Set Autoreturn time - - Simulator to send the update to + + Key of Group Insignia - + + Key of Group Founder + + + Key of Group Role for Owners + + + Name of Group + + + Text of Group Charter + + + Title of "everyone" role + + + Is the group open for enrolement to everyone + + + Will group show up in search + + + + + + + + + + + + Is the group Mature + + + Cost of group membership + + + + + + + + + The total number of current members this group has + + + The number of roles this group has configured + + + Show this group in agent's profile + + + Returns the name of the group + A string containing the name of the group + + - Parcel (subdivided simulator lots) subsystem + A group Vote - - The event subscribers. null if no subcribers + + Key of Avatar who created Vote - - Raises the ParcelDwellReply event - A ParcelDwellReplyEventArgs object containing the - data returned from the simulator + + Text of the Vote proposal - - Thread sync lock object + + Total number of votes - - The event subscribers. null if no subcribers + + + A group proposal + - - Raises the ParcelInfoReply event - A ParcelInfoReplyEventArgs object containing the - data returned from the simulator + + The Text of the proposal - - Thread sync lock object + + The minimum number of members that must vote before proposal passes or failes - - The event subscribers. null if no subcribers + + 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 - - Raises the ParcelProperties event - A ParcelPropertiesEventArgs object containing the - data returned from the simulator + + The duration in days votes are accepted - - Thread sync lock object + + + + - - The event subscribers. null if no subcribers + + - - Raises the ParcelAccessListReply event - A ParcelAccessListReplyEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the ParcelObjectOwnersReply event - A ParcelObjectOwnersReplyEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the SimParcelsDownloaded event - A SimParcelsDownloadedEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the ForceSelectObjectsReply event - A ForceSelectObjectsReplyEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the ParcelMediaUpdateReply event - A ParcelMediaUpdateReplyEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the ParcelMediaCommand event - A ParcelMediaCommandEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - - Default constructor - - A reference to the GridClient object + + - + - Request basic information for a single parcel + Struct representing a group notice - Simulator-local ID of the parcel - - - Request properties of a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - multiple simultaneous requests + + - + + + + + + + + + + - Request the access list for a single parcel + - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelAccessList reply, useful for distinguishing between - multiple simultaneous requests - + - + - Request properties of parcels using a bounding box selection + Struct representing a group notice list entry - Simulator containing the parcel - Northern boundary of the parcel selection - Eastern boundary of the parcel selection - Southern boundary of the parcel selection - Western boundary of the parcel selection - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - different types of parcel property requests - A boolean that is returned with the - ParcelProperties reply, useful for snapping focus to a single - parcel - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) - - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) - If TRUE, will force a full refresh - Number of milliseconds to pause in between each request + + Notice ID - - - Request the dwell value for a parcel - - Simulator containing the parcel - Simulator-local ID of the parcel + + Creation timestamp of notice - - - 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 - + + Agent name who created notice - - - Reclaim a parcel of land - - The simulator the parcel is in - The parcels region specific local ID + + Notice subject - - - Deed a parcel to a group - - The simulator the parcel is in - The parcels region specific local ID - The groups + + Is there an attachment? - - - Request prim owners of a parcel of land. - - Simulator parcel is in - The parcels region specific local ID + + Attachment Type - + - Return objects from a parcel + Struct representing a member of a group chat session and their settings - 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 - - - - - - + + The of the Avatar - - - Join two parcels of land creating a single parcel - - - - - - + + True if user has voice chat enabled - - - Get a parcels LocalID - - Simulator parcel is in - Vector3 position in simulator (Z not used) - 0 on failure, or parcel LocalID on success. - A call to Parcels.RequestAllSimParcels is required to populate map and - dictionary. + + True of Avatar has moderator abilities - - - 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 a moderator has muted this avatars chat - - - 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 a moderator has muted this avatars voice - + - Terraform (raise, lower, etc) an area or whole parcel of land + Role update flags - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - Height at which the terraform operation is acting at + + - - - Sends a request to the simulator to return a list of objects owned by specific owners - - Simulator local ID of parcel - Owners, Others, Etc - List containing keys of avatars objects to select; - if List is null will return Objects of type selectType - Response data is returned in the event + + - - - Eject and optionally ban a user from a parcel - - target key of avatar to eject - true to also ban target + + - - - Freeze or unfreeze an avatar over your land - - target key to freeze - true to freeze, false to unfreeze + + - - - Abandon a parcel of land - - Simulator parcel is in - Simulator local ID of parcel + + - - - Requests the UUID of the parcel in a remote region at a specified location - - Location of the parcel in the remote region - Remote region handle - Remote region UUID - If successful UUID of the remote parcel, UUID.Zero otherwise + + - - - Retrieves information on resources used by the parcel - - UUID of the parcel - Should per object resource usage be requested - Callback invoked when the request is complete + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Can send invitations to groups default role - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Can eject members from group - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Can toggle 'Open Enrollment' and change 'Signup fee' - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Member is visible in the public member list - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Can create new roles - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Can delete existing roles - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Can change Role names, titles and descriptions - - Raised when the simulator responds to a request + + Can assign other members to assigners role - - Raised when the simulator responds to a request + + Can assign other members to any role - - Raised when the simulator responds to a request + + Can remove members from roles - - Raised when the simulator responds to a request + + Can assign and remove abilities in roles - - Raised when the simulator responds to a request + + Can change group Charter, Insignia, 'Publish on the web' and which + members are publicly visible in group member listings - - Raised when the simulator responds to a request + + Can buy land or deed land to group - - Raised when the simulator responds to a request + + Can abandon group owned land to Governor Linden on mainland, or Estate owner for + private estates - - Raised when the simulator responds to a Parcel Update request + + Can set land for-sale information on group owned parcels - - Raised when the parcel your agent is located sends a ParcelMediaCommand + + Can subdivide and join parcels - - - Parcel Accesslist - + + Can join group chat sessions - - Agents + + Can use voice chat in Group Chat sessions - - + + Can moderate group chat sessions - - Flags for specific entry in white/black lists + + Can toggle "Show in Find Places" and set search category - - - Owners of primitives on parcel - + + Can change parcel name, description, and 'Publish on web' settings - - Prim Owners + + Can set the landing point and teleport routing on group land - - True of owner is group + + Can change music and media settings - - Total count of prims owned by OwnerID + + Can toggle 'Edit Terrain' option in Land settings - - true of OwnerID is currently online and is not a group + + Can toggle various About Land > Options settings - - The date of the most recent prim left by OwnerID + + Can always terraform land, even if parcel settings have it turned off - - - Called once parcel resource usage information has been collected - - Indicates if operation was successfull - Parcel resource usage information + + Can always fly while over group owned land - - Contains a parcels dwell data returned from the simulator in response to an + + Can always rez objects on group owned land - - - 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 + + Can always create landmarks for group owned parcels - - Get the global ID of the parcel + + Can set home location on any group owned parcel - - Get the simulator specific ID of the parcel + + Can modify public access settings for group owned parcels - - Get the calculated dwell + + Can manager parcel ban lists on group owned land - - Contains basic parcel information data returned from the - simulator in response to an request + + Can manage pass list sales information - - - Construct a new instance of the ParcelInfoReplyEventArgs class - - The object containing basic parcel info + + Can eject and freeze other avatars on group owned land - - Get the object containing basic parcel info + + Can return objects set to group - - Contains basic parcel information data returned from the simulator in response to an request + + Can return non-group owned/set objects - - - 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: + + Can return group owned objects - - Get the simulator the parcel is located in + + Can landscape using Linden plants - - Get the object containing the details - If Result is NoData, this object will not contain valid data + + Can deed objects to group - - Get the result of the request + + Can move group owned objects - - Get the number of primitieves your agent is - currently selecting and or sitting on in this parcel + + Can set group owned objects for-sale - - Get the user assigned ID used to correlate a request with - these results + + Pay group liabilities and receive group dividends - - TODO: + + Can send group notices - - Contains blacklist and whitelist data returned from the simulator in response to an request + + Can receive group notices - + + Can create group proposals + + + Can vote on group proposals + + - Construct a new instance of the ParcelAccessListReplyEventArgs class + Handles all network traffic related to reading and writing group + information - The simulator the parcel is located in - The user assigned ID used to correlate a request with - these results - The simulator specific ID of the parcel - TODO: - The list containing the white/blacklisted agents for the parcel - - Get the simulator the parcel is located in + + The event subscribers. null if no subcribers - - Get the user assigned ID used to correlate a request with - these results + + Raises the CurrentGroups event + A CurrentGroupsEventArgs object containing the + data sent from the simulator - - Get the simulator specific ID of the parcel + + Thread sync lock object - - TODO: + + The event subscribers. null if no subcribers - - Get the list containing the white/blacklisted agents for the parcel + + Raises the GroupNamesReply event + A GroupNamesEventArgs object containing the + data response from the simulator - - Contains blacklist and whitelist data returned from the - simulator in response to an request + + Thread sync lock object - - - Construct a new instance of the ParcelObjectOwnersReplyEventArgs class - - The simulator the parcel is located in - The list containing prim ownership counts + + The event subscribers. null if no subcribers - - Get the simulator the parcel is located in + + Raises the GroupProfile event + An GroupProfileEventArgs object containing the + data returned from the simulator - - Get the list containing prim ownership counts + + Thread sync lock object - - Contains the data returned when all parcel data has been retrieved from a simulator + + The event subscribers. null if no subcribers - - - Construct a new instance of the SimParcelsDownloadedEventArgs class - - The simulator the parcel data was retrieved from - The dictionary containing the parcel data - The multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + + Raises the GroupMembers event + A GroupMembersEventArgs object containing the + data returned from the simulator - - Get the simulator the parcel data was retrieved from + + Thread sync lock object - - A dictionary containing the parcel data where the key correlates to the ParcelMap entry + + The event subscribers. null if no subcribers - - Get the multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + + Raises the GroupRolesDataReply event + A GroupRolesDataReplyEventArgs object containing the + data returned from the simulator - - Contains the data returned when a request + + Thread sync lock object - - - Construct a new instance of the ForceSelectObjectsReplyEventArgs class - - The simulator the parcel data was retrieved from - The list of primitive IDs - true if the list is clean and contains the information - only for a given request + + The event subscribers. null if no subcribers - - Get the simulator the parcel data was retrieved from + + Raises the GroupRoleMembersReply event + A GroupRolesRoleMembersReplyEventArgs object containing the + data returned from the simulator - - Get the list of primitive IDs + + Thread sync lock object - - true if the list is clean and contains the information - only for a given request + + The event subscribers. null if no subcribers - - Contains data when the media data for a parcel the avatar is on changes + + Raises the GroupTitlesReply event + A GroupTitlesReplyEventArgs object containing the + data returned from the simulator - - - Construct a new instance of the ParcelMediaUpdateReplyEventArgs class - - the simulator the parcel media data was updated in - The updated media information + + Thread sync lock object - - Get the simulator the parcel media data was updated in + + The event subscribers. null if no subcribers - - Get the updated media information + + Raises the GroupAccountSummary event + A GroupAccountSummaryReplyEventArgs object containing the + data returned from the simulator - - Contains the media command for a parcel the agent is currently on + + Thread sync lock object - - - Construct a new instance of the ParcelMediaCommandEventArgs class - - The simulator the parcel media command was issued in - - - The media command that was sent - + + The event subscribers. null if no subcribers - - Get the simulator the parcel media command was issued in + + 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 - - Get the media command that was sent + + Raises the GroupJoined event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator - - + + Thread sync lock object - - Size of the byte array used to store raw packet data + + The event subscribers. null if no subcribers - - Raw packet data buffer + + Raises the GroupLeft event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator - - Length of the data to transmit + + Thread sync lock object - - EndPoint of the remote host + + The event subscribers. null if no subcribers - - - Create an allocated UDP packet buffer for receiving a packet - + + Raises the GroupDropped event + An GroupDroppedEventArgs object containing the + the group your agent left - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host + + 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 + + - Create an allocated UDP packet buffer for sending a packet + Construct a new instance of the GroupManager class - EndPoint of the remote host - Size of the buffer to allocate for packet data + A reference to the current instance - + - Object pool for packet buffers. This is used to allocate memory for all - incoming and outgoing packets, and zerocoding buffers for those packets + 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. - + - Creates a new instance of the ObjectPoolBase class. Initialize MUST be called - after using this constructor. + Lookup name of group based on groupID + groupID of group to lookup name for. - + - 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. + Request lookup of multiple group names + List of group IDs to request. - - - Responsible for allocate 1 instance of an object that will be stored in a segment. - - An instance of whatever objec the pool is pooling. + + Lookup group profile data such as name, enrollment, founder, logo, etc + Subscribe to OnGroupProfile event to receive the results. + group ID (UUID) - - - Checks in an instance of T owned by the object pool. This method is only intended to be called - by the WrappedObject class. - - The segment from which the instance is checked out. - The instance of T to check back into the segment. + + Request 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 - - - 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. + + Request group roles + Subscribe to OnGroupRoles event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - - The total number of segments created. Intended to be used by the Unit Tests. - + + 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 - - - 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. - + + 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 minimum number of segments. When segments are reclaimed, - this number of segments will always be left alone. These - segments are allocated at startup. - + + 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 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. - + + 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 - - - The frequence which the cleanup thread runs. This is typically - expected to be in the 5 minute range. - + + Set a group as the current active group + group ID (UUID) - - - Initialize the object pool in client mode - - Server to connect to - - + + Change the role that determines your active title + Group ID to use + Role ID to change to - - - Initialize the object pool in server mode - - - + + Set this avatar's tier contribution + Group ID to change tier in + amount of tier to donate - + - Returns a packet buffer with EndPoint set if the buffer is in - client mode, or with EndPoint set to null in server mode + Save wheather agent wants to accept group notices and list this group in their profile - Initialized UDPPacketBuffer object + Group + Accept notices from this group + List this group in the profile - - - Default constructor - + + Request to join a group + Subscribe to OnGroupJoined event for confirmation. + group ID (UUID) to join. - + - Check a packet buffer out of the pool + Request to create a new group. If the group is successfully + created, L$100 will automatically be deducted - A packet buffer object + Subscribe to OnGroupCreated event to receive confirmation. + Group struct containing the new group info - - - - - Looking direction, must be a normalized vector - Up direction, must be a normalized vector + + Update a group's profile and other information + Groups ID (UUID) to update. + Group struct to update. - - - 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 + + Eject a user from a group + Group ID to eject the user from + Avatar's key to eject - - Origin position of this coordinate frame + + Update role information + Modified role to be updated - - X axis of this coordinate frame, or Forward/At in grid terms + + Create a new group role + Group ID to update + Role to create - - Y axis of this coordinate frame, or Left in grid terms + + Delete a group role + Group ID to update + Role to delete - - Z axis of this coordinate frame, or Up in grid terms + + Remove an avatar from a role + Group ID to update + Role ID to be removed from + Avatar's Key to remove - - - Manager class for our own avatar - + + Assign an avatar to a role + Group ID to update + Role ID to assign to + Avatar's ID to assign to role - - The event subscribers. null if no subcribers + + Request the group notices list + Group ID to fetch notices for - - Raises the ChatFromSimulator event - A ChatEventArgs object containing the - data returned from the data server + + Request a group notice by key + ID of group notice - - Thread sync lock object + + Send out a group notice + Group ID to update + GroupNotice structure containing notice data - - The event subscribers. null if no subcribers + + Start a group proposal (vote) + The Group ID to send proposal to + GroupProposal structure containing the proposal - - Raises the ScriptDialog event - A SctriptDialogEventArgs object containing the - data returned from the data server + + Request to leave a group + Subscribe to OnGroupLeft event to receive confirmation + The group to leave - - 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 + + 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 MoneyBalance event - A BalanceEventArgs 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 MoneyBalanceReply event - A MoneyBalanceReplyEventArgs 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 IM event - A InstantMessageEventArgs 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 + + Raised when the simulator sends us data containing + our current group membership - - The event subscribers. null if no subcribers + + Raised when the simulator responds to a RequestGroupName + or RequestGroupNames request - - Raises the TeleportProgress event - A TeleportEventArgs 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 AgentDataReply event - A AgentDataReplyEventArgs 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 a response to a RequestGroupAccountSummary is returned + by the simulator - - Raises the AnimationsChanged event - A AnimationsChangedEventArgs object containing the - data returned from the data server + + Raised when a request to create a group is successful - - Thread sync lock object + + Raised when a request to join a group either + fails or succeeds - - The event subscribers. null if no subcribers + + Raised when a request to leave a group either + fails or succeeds - - Raises the MeanCollision event - A MeanCollisionEventArgs object containing the - data returned from the data server + + Raised when A group is removed from the group server - - Thread sync lock object + + Raised when a request to eject a member from a group either + fails or succeeds - - The event subscribers. null if no subcribers + + Raised when the simulator sends us group notices + - - Raises the RegionCrossed event - A RegionCrossedEventArgs object containing the - data returned from the data server + + Raised when another agent invites our avatar to join a group - - Thread sync lock object + + Contains the current groups your agent is a member of - - The event subscribers. null if no subcribers + + Construct a new instance of the CurrentGroupsEventArgs class + The current groups your agent is a member of - - Raises the GroupChatJoined event - A GroupChatJoinedEventArgs object containing the - data returned from the data server + + Get the current groups your agent is a member of - - Thread sync lock object + + A Dictionary of group names, where the Key is the groups ID and the value is the groups name - - The event subscribers. null if no subcribers + + Construct a new instance of the GroupNamesEventArgs class + The Group names dictionary - - Raises the AlertMessage event - A AlertMessageEventArgs object containing the - data returned from the data server + + Get the Group Names dictionary - - Thread sync lock object + + Represents the members of a group - - The event subscribers. null if no subcribers + + + Construct a new instance of the GroupMembersReplyEventArgs class + + The ID of the request + The ID of the group + The membership list of the group - - Raises the ScriptControlChange event - A ScriptControlEventArgs object containing the - data returned from the data server + + Get the ID as returned by the request to correlate + this result set and the request - - Thread sync lock object + + Get the ID of the group - - The event subscribers. null if no subcribers + + Get the dictionary of members - - Raises the CameraConstraint event - A CameraConstraintEventArgs object containing the - data returned from the data server + + Represents the roles associated with a group - - Thread sync lock object + + 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 - - The event subscribers. null if no subcribers + + Get the ID as returned by the request to correlate + this result set and the request - - Raises the ScriptSensorReply event - A ScriptSensorReplyEventArgs object containing the - data returned from the data server + + Get the ID of the group - - Thread sync lock object + + Get the dictionary containing the roles - - The event subscribers. null if no subcribers + + Represents the Role to Member mappings for a group - - Raises the AvatarSitResponse event - A AvatarSitResponseEventArgs object containing the - data returned from the data server + + 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 - - Thread sync lock object + + Get the ID as returned by the request to correlate + this result set and the request - - The event subscribers. null if no subcribers + + Get the ID of the group - - Raises the ChatSessionMemberAdded event - A ChatSessionMemberAddedEventArgs object containing the - data returned from the data server + + Get the member to roles map - - Thread sync lock object + + Represents the titles for a group - - The event subscribers. null if no subcribers + + 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 - - Raises the ChatSessionMemberLeft event - A ChatSessionMemberLeftEventArgs object containing the - data returned from the data server + + Get the ID as returned by the request to correlate + this result set and the request - - Thread sync lock object + + Get the ID of the group - - Reference to the GridClient instance + + Get the titles - - Used for movement and camera tracking + + Represents the summary data for a group - - 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 + + Construct a new instance of the GroupAccountSummaryReplyEventArgs class + The ID of the group + The summary data - - Dictionary containing current Group Chat sessions and members + + Get the ID of the group - - - Constructor, setup callbacks for packets related to our avatar - - A reference to the Class + + Get the summary data - - - Send a text message from the Agent to the Simulator - - A containing the message - The channel to send the message on, 0 is the public channel. Channels above 0 - can be used however only scripts listening on the specified channel will see the message - Denotes the type of message being sent, shout, whisper, etc. + + A response to a group create request - - - Request any instant messages sent while the client was offline to be resent. - + + 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 Instant Message to another Avatar - - The recipients - A containing the message to send + + Get the ID of the group - - - 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) + + true of the group was created successfully - - - 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 + + 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 + + - Send an Instant Message + Provides notification of a group invitation request sent by another Avatar - The name this IM will show up as being from - Key of Avatar - Text message being sent - IM session ID (to differentiate between IM windows) - Type of instant message to send - Whether to IM offline avatars as well - Senders Position - RegionID Sender is In - Packed binary data that is specific to - the dialog type + The 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 + + - Send an Instant Message to a group + - of the group to send message to - Text Message being sent. + Looking direction, must be a normalized vector + Up direction, must be a normalized vector - + - Send an Instant Message to a group the agent is a member of + Align the coordinate frame X and Y axis with a given rotation + around the Z axis in radians - The name this IM will show up as being from - of the group to send message to - Text message being sent + 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 + + - Send a request to join a group chat session + Avatar profile flags - of Group to leave - + - Exit a group chat session. This will stop further Group chat messages - from being sent until session is rejoined. + Represents an avatar (other than your own) - of Group chat session to leave - + + Groups that this avatar is a member of + + + Positive and negative ratings + + + Avatar properties including about text, profile URL, image IDs and + publishing settings + + + Avatar interests including spoken languages, skills, and "want to" + choices + + + Movement control flags for avatars. Typically not set or used by + clients. To move your avatar, use Client.Self.Movement instead + + - Reply to script dialog questions. + Contains the visual parameters describing the deformation of the avatar - 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 + Default constructor - of session to accept invite to - + + First name + + + Last name + + + Full name + + + Active group + + - Start a friends conference + Positive and negative ratings - List of UUIDs to start a conference with - the temportary session ID returned in the callback> - + + Positive ratings for Behavior + + + Negative ratings for Behavior + + + Positive ratings for Appearance + + + Negative ratings for Appearance + + + Positive ratings for Building + + + Negative ratings for Building + + + Positive ratings given by this avatar + + + Negative ratings given by this avatar + + - Start a particle stream between an agent and an object + Avatar properties including about text, profile URL, image IDs and + publishing settings - Key of the source agent - Key of the target object - - The type from the enum - A unique for this effect - + + First Life about text + + + First Life image ID + + + + + + + + + + + + + + + Profile image ID + + + Flags of the profile + + + Web URL for this profile + + + Should this profile be published on the web + + + Avatar Online Status + + + Is this a mature profile + + + + + + + + - Start a particle stream between an agent and an object + Avatar interests including spoken languages, skills, and "want to" + choices - 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 - + + Languages profile field + + + + + + + + + + + + + + - Create a particle beam between an avatar and an primitive + Extract the avatar UUID encoded in a SIP URI - 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 + Permissions for control of object media - 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 + Style of cotrols that shold be displayed to the user - of the object to sit on - Sit at offset - + - Follows a call to to actually sit on the object + Class representing media data for a single face - - Stands up from sitting on a prim or the ground - true of AgentUpdate was sent + + Is display of the alternative image enabled - - - Does a "ground sit" at the avatar's current position - + + 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 + + - Starts or stops flying + Serialize to OSD - True to start flying, false to stop flying + OSDMap with the serialized data - + - Starts or stops crouching + Deserialize from OSD data - True to start crouching, false to stop crouching + Serialized OSD data + Deserialized object - + - Starts a jump (begin holding the jump key) + Operation to apply when applying color to texture - + - Use the autopilot sim function to move the avatar to a new - position. Uses double precision to get precise movements + Information needed to translate visual param value to RGBA color - 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 + Construct VisualColorParam - 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 + Operation to apply when applying color to texture + Colors - + - Use the autopilot sim function to move the avatar to a new position + Represents alpha blending and bump infor for a visual parameter + such as sleive length - 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 + + Stregth of the alpha to apply - - - Grabs an object - - an unsigned integer of the objects ID within the simulator - + + File containing the alpha channel - - - 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 + + Skip blending if parameter value is 0 - - - Drag an object - - of the object to drag - Drag target in region coordinates + + Use miltiply insted of alpha blending - + - Overload: Drag an object + Create new alhpa information for a visual param - 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 + Stregth of the alpha to apply + File containing the alpha channel + Skip blending if parameter value is 0 + Use miltiply insted of alpha blending - + - Release a grabbed object + A single visual characteristic of an avatar mesh, such as eyebrow height - 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 + + Index of this visual param - - - Touches an object - - an unsigned integer of the objects ID within the simulator - + + Internal name - - - Request the current L$ balance - + + Group ID this parameter belongs to - - - Give Money to destination Avatar - - UUID of the Target Avatar - Amount in L$ + + Name of the wearable this parameter belongs to - - - Give Money to destination Avatar - - UUID of the Target Avatar - Amount in L$ - Description that will show up in the - recipients transaction history + + Displayable label of this characteristic - - - Give L$ to an object - - object to give money to - amount of L$ to give - name of object + + Displayable label for the minimum value of this characteristic - - - Give L$ to a group - - group to give money to - amount of L$ to give + + Displayable label for the maximum value of this characteristic - - - Give L$ to a group - - group to give money to - amount of L$ to give - description of transaction + + Default value - - - Pay texture/animation upload fee - + + Minimum value - - - Pay texture/animation upload fee - - description of the transaction + + Maximum value - - - 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 + + Is this param used for creation of bump layer? - - - Plays a gesture - - Asset of the gesture + + Alpha blending/bump info - - - Mark gesture active - - Inventory of the gesture - Asset of the gesture + + Color information - + + Array of param IDs that are drivers for this parameter + + - Mark gesture inactive + Set all the values through the constructor - Inventory of the gesture + 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 - + - Send an AgentAnimation packet that toggles a single animation on + Holds the Params array of all the avatar appearance parameters - 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 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. + - The of a - currently playing animation to stop playing - Whether to ensure delivery of this packet or not + Key + Value - + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking + on this member + + - Send an AgentAnimation packet that will toggle animations on or off + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. - A list of animation s, and whether to - turn that animation on or off - Whether to ensure delivery of this packet or not + + + // 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>(); + + - + - Teleports agent to their stored home location + Initializes a new instance of the Class + with the specified key/value, has its initial valies copied from the specified + - true on successful teleport to home location + + 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); + + - + - Teleport agent to a landmark + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. - of the landmark to teleport agent to - true on success, false on failure + 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); + + - + - Attempt to look up a simulator name and teleport to the discovered - destination + Try to get entry from with specified key - Region name to look up - Position to teleport to - True if the lookup and teleport were successful, otherwise - false + 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); + + + - + - Attempt to look up a simulator name and teleport to the discovered - destination + Finds the specified match. - Region name to look up - Position to teleport to - Target to look at - True if the lookup and teleport were successful, otherwise - false + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + - + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + + + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + + + + Perform an on each entry in an + to perform + + + // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. + Client.Network.CurrentSim.ObjectsPrimitives.ForEach( + delegate(Primitive prim) + { + if (prim.Text != null) + { + Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", + prim.PropertiesFamily.Name, prim.ID, prim.Text); + } + }); + + + + + Perform an on each key of an + to perform + + - Teleport agent to another region + Perform an on each KeyValuePair of an - handle of region to teleport agent to - position in destination sim to teleport to - true on success, false on failure - This call is blocking + 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 + + - Teleport agent to another region + Adds the specified key to the dictionary, dictionary locking is not performed, + - handle of region to teleport agent to - position in destination sim to teleport to - direction in destination sim agent will look at - true on success, false on failure - This call is blocking + The key + The value - + - Request teleport to a another simulator + Removes the specified key, dictionary locking is not performed - handle of region to teleport agent to - position in destination sim to teleport to + The key. + if successful, otherwise - + - Request teleport to a another simulator + Gets the number of Key/Value pairs contained in the - 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 + Indexer for the dictionary - of the landmark to teleport agent to + The key + The value - + - Send a teleport lure to another avatar with default "Join me in ..." invitation message + 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 - target avatars to lure + A string value indicting the Application name + URL for the management server + LoggingSettings + + - + - Send a teleport lure to another avatar with custom invitation message + Shutdown Connector -- Should be called when the application is shutting down + to gracefully release resources - target avatars to lure - custom message to send with invitation + Handle returned from successful Connector ‘create’ request - + - Respond to a teleport lure by either accepting it and initiating - the teleport, or denying it + Mute or unmute the microphone - of the avatar sending the lure - IM session of the incoming lure request - true to accept the lure, false to decline it + Handle returned from successful Connector ‘create’ request + true (mute) or false (unmute) - + - Update agent profile + Mute or unmute the speaker - struct containing updated - profile information + Handle returned from successful Connector ‘create’ request + true (mute) or false (unmute) - + - Update agents profile interests + Set microphone volume - selection of interests from struct + 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 the height and the width of the client window. This is used - by the server to build a virtual camera frustum for our avatar + Set local speaker volume - New height of the viewer window - New width of the viewer window + Handle returned from successful Connector ‘create’ request + The level of the audio, a number between -100 and 100 where + 0 represents ‘normal’ speaking volume - + - Request the list of muted objects and avatars for this agent + Starts a thread that keeps the daemon running + + - + - Sets home location to agents current position + Stops the daemon and the thread keeping it running - 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 + This is used to get a list of audio devices that can be used for capture (input) of voice. - 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 + This is used to get a list of audio devices that can be used for render (playback) of voice. - 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 + This command is used to select the render device. - 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 name of the device as returned by the Aux.GetRenderDevices command. - + - Create or update profile pick + This command is used to select the capture device. - 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 name of the device as returned by the Aux.GetCaptureDevices command. - + - Delete profile pick + This command is used to start the audio capture process which will cause + AuxAudioProperty Events to be raised. These events can be used to display a + microphone VU meter for the currently selected capture device. This command + should not be issued if the user is on a call. - UUID of the pick to delete + (unused but required) + - + - Create or update profile Classified + This command is used to stop the audio capture process. - 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 + 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. - UUID of the classified to update, or random UUID to create a new classified - Defines what catagory the classified is in - UUID of the image displayed with the classified - Price that the classified will cost to place for a week - Name of the classified - Long description of the classified - if true, auto renew classified after expiration + the microphone volume (-100 to 100 inclusive) + - + - Delete a classified ad + 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 classified ads ID + the speaker volume (-100 to 100 inclusive) + - + - Fetches resource usage by agents attachmetns + 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. - Called when the requested information is collected + 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. + + + - + - Take an incoming ImprovedInstantMessage packet, auto-parse, and if - OnInstantMessage is defined call that with the appropriate arguments + Used to accept a call - The sender - The EventArgs object containing the packet data + SessionHandle such as received from SessionNewEvent + "default" + - + - Take an incoming Chat packet, auto-parse, and if OnChat is defined call - that with the appropriate arguments. + 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 sender - The EventArgs object containing the packet data + 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. + - + - Used for parsing llDialogs + This command is used to stop the audio render process. - The sender - The EventArgs object containing the packet data + The fully qualified path to the sound file issued in the start render command. + - + - Used for parsing llRequestPermissions dialogs + This is used to ‘end’ an established session (i.e. hang-up or disconnect). - The sender - The EventArgs object containing the packet data + Handle returned from successful Session ‘create’ request or a SessionNewEvent + - + - Handles Script Control changes when Script with permissions releases or takes a control + Set the combined speaking and listening position in 3D space. - The sender - The EventArgs object containing the packet data + Handle returned from successful Session ‘create’ request or a SessionNewEvent + Speaking position + Listening position + - + - Used for parsing llLoadURL Dialogs + Set User Volume for a particular user. Does not affect how other users hear that user. - The sender - The EventArgs object containing the packet data + 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 + - + - Update client's Position, LookAt and region handle from incoming packet + Start up the Voice service. - 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. + Handle miscellaneous request status - The Message Key - An IMessage object Deserialized from the recieved message event - The simulator originating the event message + + + ///If something goes wrong, we log it. - + - Process TeleportFinish from Event Queue and pass it onto our TeleportHandler + Cleanup oject resources - 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. + Request voice cap when changing regions - 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 + Handle a change in session state - The capability Key - IMessage object containing decoded data from OSD - - + - Response from request to join a group chat + Close a voice session - - IMessage object containing decoded data from OSD - + - + - Someone joined or left group chat + Locate a Session context from its handle - - IMessage object containing decoded data from OSD - + Creates the session context if it does not exist. - + - Handle a group chat Invitation + Handle completion of main voice cap request. - Caps Key - IMessage object containing decoded data from OSD - Originating Simulator + + + - + - Moderate a chat session + Daemon has started so connect to it. - the of the session to moderate, for group chats this will be the groups UUID - the of the avatar to moderate - Either "voice" to moderate users voice, or "text" to moderate users text session - true to moderate (silence user), false to allow avatar to speak - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + The daemon TCP connection is open. + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Handle creation of the Connector. + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Handle response to audio output device query + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Handle response to audio input device query + - - Raised when a scripted object or agent within range sends a public message + + + Set voice channel for new parcel + + - - Raised when a scripted object sends a dialog box containing possible - options an agent can respond to + + + Request info from a parcel capability Uri. + + - - Raised when an object requests a change in the permissions an agent has permitted + + + Receive parcel voice cap + + + + - - Raised when a script requests an agent open the specified URL + + + Tell Vivox where we are standing + + This has to be called when we move or turn. - - Raised when an agents currency balance is updated + + + Start and stop updating out position. + + - - Raised when a transaction occurs involving currency such as a land purchase + + + 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 + - - 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 + + + This is used to logout a user session. It should only be called with a valid AccountHandle. + + Handle returned from successful Connector ‘login’ request + - - 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 + + + Event for most mundane request reposnses. + - - Raised when a simulator sends agent specific information for our avatar. + + Response to Connector.Create request - - Raised when our agents animation playlist changes + + Response to Aux.GetCaptureDevices request - - Raised when an object or avatar forcefully collides with our agent + + Response to Aux.GetRenderDevices request - - Raised when our agent crosses a region border into another region + + Audio Properties Events are sent after audio capture is started. + These events are used to display a microphone VU meter - - Raised when our agent succeeds or fails to join a group chat session + + Response to Account.Login request - - 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 + + This event message is sent whenever the login state of the + particular Account has transitioned from one value to another - - Raised when a script attempts to take or release specified controls for our agent + + + List of audio input devices + - - Raised when the simulator detects our agent is trying to view something - beyond its limits + + + List of audio output devices + - - Raised when a script sensor reply is received from a simulator + + + Set audio test mode + - - Raised in response to a request + + Enable logging - - Raised when an avatar enters a group chat session we are participating in + + The folder where any logs will be created - - Raised when an agent exits a group chat session we are participating in + + This will be prepended to beginning of each log file - - Your (client) avatars - "client", "agent", and "avatar" all represent the same thing + + The suffix or extension to be appended to each log file - - Temporary assigned to this session, used for - verifying our identity in packets + + + 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 + - - Shared secret that is never sent over the wire + + + Constructor for default logging settings + - - Your (client) avatar ID, local to the current region/sim + + Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter - - Where the avatar started at login. Can be "last", "home" - or a login + + + Abstract base for rendering plugins + - - The access level of this agent, usually M or PG + + + 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 CollisionPlane of Agent + + + 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 - - An representing the velocity of our agent + + + 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 - - An representing the acceleration of our agent + + + 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 - - A which specifies the angular speed, and axis about which an Avatar is rotating. + + + 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 - - 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 - - + - Used to specify movement actions for your agent + pre-defined built in sounds - - 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 + + coins - - Fly + + cash register bell - + - - 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 + + rubber - - Legacy, used if a key was pressed for less than a certain amount of time + + plastic - - Legacy, used if a key was pressed for less than a certain amount of time + + flesh - - Legacy, used if a key was pressed for less than a certain amount of time + + wood splintering? - - Legacy, used if a key was pressed for less than a certain amount of time + + glass break - - Legacy, used if a key was pressed for less than a certain amount of time + + metal clunk - - Legacy, used if a key was pressed for less than a certain amount of time + + whoosh - - + + shake - + - - Set when the avatar is idled or set to away. Note that the away animation is - activated separately from setting this flag + + ding - + - + - + - + - - - 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 + A dictionary containing all pre-defined sounds - Camera rotation in radians - Whether to send the AgentUpdate reliable - or not + 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 - + - Rotates the avatar body and camera toward a target position. - This will also anchor the camera position on the avatar + Simulator (region) properties - Region coordinates to turn toward - - - Send new AgentUpdate packet to update our current camera - position and rotation - + + No flags set - - - Send new AgentUpdate packet to update our current camera - position and rotation - - Whether to require server acknowledgement - of this packet + + Agents can take damage and be killed - - - 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 + + Landmarks can be created here - - Move agent negative along the Y axis + + Home position can be set in this sim - - Move agent positive along the Z axis + + Home position is reset when an agent teleports away - - Move agent negative along the Z axis + + 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. - - Causes simulator to make agent fly + + No collision detection for non-agent objects - - Stop movement + + No scripts are ran - - Finish animation + + All physics processing is turned off - - Stand up from a sit + + Region can be seen from other regions on world map. (Legacy world map option?) - - Tells simulator to sit agent on ground + + Region can be seen from mainland on world map. (Legacy world map option?) - - Place agent into mouselook mode + + Agents not explicitly on the access list can visit the region. - - Nudge agent positive along the X axis + + Traffic calculations are not run across entire region, overrides parcel settings. - - Nudge agent negative along the X axis + + Flight is disabled (not currently enforced by the sim) - - Nudge agent positive along the Y axis + + Allow direct (p2p) teleporting - - Nudge agent negative along the Y axis + + Estate owner has temporarily disabled scripting - - Nudge agent positive along the Z axis + + Restricts the usage of the LSL llPushObject function, applies to whole region. - - Nudge agent negative along the Z axis + + Deny agents with no payment info on file - - + + Deny agents with payment info on file - - + + Deny agents who have made a monetary transaction - - Tell simulator to mark agent as away + + 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. - + - Returns "always run" value, or changes it by sending a SetAlwaysRunPacket + Access level for a simulator - - The current value of the agent control flags + + Unknown or invalid access level - - 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 + + Trial accounts allowed - - Gets or sets whether AgentUpdate packets are sent to - the current simulator + + PG rating - - Reset movement controls every time we send an update + + Mature rating - - - 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 - + + Adult rating - - + + Simulator is offline - - The camera is a local frame of reference inside of - the larger grid space. This is where the math happens + + Simulator does not exist - + - Default constructor + - - - - - - - - - - - - - + - Called once attachment resource usage information has been collected + - Indicates if operation was successfull - Attachment resource usage information - + - Represents a single Voice Session to the Vivox service. + Initialize the UDP packet handler in server mode + Port to listening for incoming UDP packets on - + - Close this session. + Initialize the UDP packet handler in client mode + Remote UDP server to connect to - + - Look up an existing Participants in this session + - - - + - + - 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 - + + A public reference to the client that this Simulator object + is attached to - - - Executes the specified delegate with the specified arguments - asynchronously on a thread pool thread - - - + + A Unique Cache identifier for this simulator - - - Invokes the wrapped delegate synchronously - - - - - - - Calls EndInvoke on the wrapper and Close on the resulting WaitHandle - to prevent resource leaks - - + + The capabilities for this simulator - - - Delegate to wrap another delegate and its arguments - - - + + - - - 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 + + The current version of software this simulator is running - - Main grid login server + + - - Beta grid login server + + A 64x64 grid of parcel coloring values. The values stored + in this array are of the type - - - 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 + + true if your agent has Estate Manager rights on this region - - 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) + + Statistics information for this simulator and the + connection to the simulator, calculated by the simulator itself + and the library - - Enable/disable storing terrain heightmaps in the - TerrainManager + + The regions Unique ID - - Enable/disable sending periodic camera updates + + The physical data center the simulator is located + Known values are: + + Dallas + Chandler + SF + + - - Enable/disable automatically setting agent appearance at - login and after sim crossing + + The CPU Class of the simulator + Most full mainland/estate sims appear to be 5, + Homesteads and Openspace appear to be 501 - - 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 + + The number of regions sharing the same CPU as this one + "Full Sims" appear to be 1, Homesteads appear to be 4 - - Enable/disable the sending of pings to monitor lag and - packet loss + + 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) + + - - Should we connect to multiple sims? This will allow - viewing in to neighboring simulators and sim crossings - (Experimental) + + 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 + + - - If true, all object update packets will be decoded in to - native objects. If false, only updates for our own agent will be - decoded. Registering an event handler will force objects for that - type to always be decoded. If this is disabled the object tracking - will have missing or partial prim and avatar information + + The current sequence number for packets sent to this + simulator. Must be Interlocked before modifying. Only + useful for applications manipulating sequence numbers - - If true, when a cached object check is received from the - server the full object info will automatically be requested + + + A thread-safe dictionary containing avatars in a simulator + - - Whether to establish connections to HTTP capabilities - servers for simulators + + + A thread-safe dictionary containing primitives in a simulator + - - Whether to decode sim stats + + + Provides access to an internal thread-safe dictionary containing parcel + information found in this simulator + - - 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 + + + Checks simulator parcel map to make sure it has downloaded all data successfully + + true if map is full (contains no 0's) - - If true, any reference received for a folder or item - the library is not aware of will automatically be fetched + + Used internally to track sim disconnections - - If true, and SEND_AGENT_UPDATES is true, - AgentUpdate packets will continuously be sent out to give the bot - smoother movement and autopiloting + + Event that is triggered when the simulator successfully + establishes a connection - - 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 + + Whether this sim is currently connected or not. Hooked up + to the property Connected - - 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 + + Coarse locations of avatars in this simulator - - 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 + + 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 + + - If true, utilization statistics will be tracked. There is a minor penalty - in CPU time for enabling this option. + + Reference to the GridClient object + IPEndPoint of the simulator + handle of the simulator - - If true, parcel details will be stored in the - Simulator.Parcels dictionary as they are received + + + Called when this Simulator object is being destroyed + - + - If true, an incoming parcel properties reply will automatically send - a request for the parcel access list + 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 - + - if true, an incoming parcel properties reply will automatically send - a request for the traffic count. + Initiates connection to the simulator - + - If true, images, and other assets downloaded from the server - will be cached in a local directory + Disconnect from this simulator - - Path to store cached texture data + + + Instructs the simulator to stop sending update (and possibly other) packets + - - Maximum size cached files are allowed to take on disk (bytes) + + + Instructs the simulator to resume sending update packets (unpause) + - - Default color used for viewer particle effects + + + 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 - - Maximum number of times to resend a failed packet + + + Sends a packet + + Packet to be sent - - Throttle outgoing packet rate + + + + - - UUID of a texture used by some viewers to indentify type of client used + + + Returns Simulator Name as a String + + - + - 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 + Sends out pending acknowledgements - This is a static variable which applies to all instances + Number of ACKs sent - + - Textures taking longer than this value will be flagged as timed out and removed from the pipeline + Resend unacknowledged packets - + - 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 + Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. - - Attach avatar names to log messages + + The IP address and port of the server - - Log packet retransmission info + + Whether there is a working connection to the simulator or + not - - Constructor - Reference to a GridClient object + + Coarse locations of avatars in this simulator - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + AvatarPositions key representing TrackAgent target - - Cost of uploading an asset - Read-only since this value is dynamically fetched at login + + Indicates if UDP connection to the sim is fully established - + - Static pre-defined animations available to all agents + Simulator Statistics - - Agent with afraid expression on face - - - Agent aiming a bazooka (right handed) + + Total number of packets sent by this simulator to this agent - - Agent aiming a bow (left handed) + + Total number of packets received by this simulator to this agent - - Agent aiming a hand gun (right handed) + + Total number of bytes sent by this simulator to this agent - - Agent aiming a rifle (right handed) + + Total number of bytes received by this simulator to this agent - - Agent with angry expression on face + + Time in seconds agent has been connected to simulator - - Agent hunched over (away) + + Total number of packets that have been resent - - Agent doing a backflip + + Total number of resent packets recieved - - Agent laughing while holding belly + + Total number of pings sent to this simulator by this agent - - Agent blowing a kiss + + Total number of ping replies sent to this agent by this simulator - - Agent with bored expression on face + + + Incoming bytes per second + + It would be nice to have this claculated on the fly, but + this is far, far easier - - Agent bowing to audience + + + Outgoing bytes per second + + It would be nice to have this claculated on the fly, but + this is far, far easier - - Agent brushing himself/herself off + + Time last ping was sent - - Agent in busy mode + + ID of last Ping sent - - Agent clapping hands + + - - Agent doing a curtsey bow + + - - Agent crouching + + Current time dilation of this simulator - - Agent crouching while walking + + Current Frames per second of simulator - - Agent crying + + Current Physics frames per second of simulator - - Agent unanimated with arms out (e.g. setting appearance) + + - - Agent re-animated after set appearance finished + + - - Agent dancing + + - - Agent dancing + + - - Agent dancing + + - - Agent dancing + + - - Agent dancing + + - - Agent dancing + + - - Agent dancing + + Total number of objects Simulator is simulating - - Agent dancing + + Total number of Active (Scripted) objects running - - Agent on ground unanimated + + Number of agents currently in this simulator - - Agent boozing it up + + Number of agents in neighbor simulators - - Agent with embarassed expression on face + + Number of Active scripts running in this simulator - - Agent with afraid expression on face + + - - Agent with angry expression on face + + - - Agent with bored expression on face + + - - Agent crying + + Number of downloads pending - - Agent showing disdain (dislike) for something + + Number of uploads pending - - Agent with embarassed expression on face + + - - Agent with frowning expression on face + + - - Agent with kissy face + + Number of local uploads pending - - Agent expressing laughgter + + Unacknowledged bytes in queue - - Agent with open mouth + + + Checks the instance back into the object pool + - - Agent with repulsed expression on face + + + Returns an instance of the class that has been checked out of the Object Pool. + - - Agent expressing sadness + + + Creates a new instance of the ObjectPoolBase class. Initialize MUST be called + after using this constructor. + - - Agent shrugging shoulders + + + 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. - - Agent with a smile + + + Forces the segment cleanup algorithm to be run. This method is intended + primarly for use from the Unit Test libraries. + - - Agent expressing surprise + + + Responsible for allocate 1 instance of an object that will be stored in a segment. + + An instance of whatever objec the pool is pooling. - - Agent sticking tongue out + + + 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. - - Agent with big toothy smile + + + 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. - - Agent winking + + + The total number of segments created. Intended to be used by the Unit Tests. + - - Agent expressing worry + + + 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. + - - Agent falling down + + + The minimum number of segments. When segments are reclaimed, + this number of segments will always be left alone. These + segments are allocated at startup. + - - Agent walking (feminine version) + + + 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. + - - Agent wagging finger (disapproval) + + + The frequence which the cleanup thread runs. This is typically + expected to be in the 5 minute range. + - - I'm not sure I want to know + + + Exception class to identify inventory exceptions + - - Agent in superman position + + + 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. + - - Agent in superman position + + The event subscribers, null of no subscribers - - Agent greeting another + + Raises the InventoryObjectUpdated Event + A InventoryObjectUpdatedEventArgs object containing + the data sent from the simulator - - Agent holding bazooka (right handed) + + Thread sync lock object - - Agent holding a bow (left handed) + + The event subscribers, null of no subscribers - - Agent holding a handgun (right handed) + + Raises the InventoryObjectRemoved Event + A InventoryObjectRemovedEventArgs object containing + the data sent from the simulator - - Agent holding a rifle (right handed) - - - Agent throwing an object (right handed) + + Thread sync lock object - - Agent in static hover + + The event subscribers, null of no subscribers - - Agent hovering downward + + Raises the InventoryObjectAdded Event + A InventoryObjectAddedEventArgs object containing + the data sent from the simulator - - Agent hovering upward + + Thread sync lock object - - Agent being impatient + + + Returns the contents of the specified folder + + A folder's UUID + The contents of the folder corresponding to folder + When folder does not exist in the inventory - - Agent jumping + + + Updates the state of the InventoryNode and inventory data structure that + is responsible for the InventoryObject. If the item was previously not added to inventory, + it adds the item, and updates structure accordingly. If it was, it updates the + InventoryNode, changing the parent node if item.parentUUID does + not match node.Parent.Data.UUID. + + You can not set the inventory root folder using this method + + The InventoryObject to store - - Agent jumping with fervor + + + Removes the InventoryObject and all related node data from Inventory. + + The InventoryObject to remove. - - Agent point to lips then rear end + + + Used to find out if Inventory contains the InventoryObject + specified by uuid. + + The UUID to check. + true if inventory contains uuid, false otherwise - - Agent landing from jump, finished flight, etc + + + Saves the current inventory structure to a cache file + + Name of the cache file to save to - - Agent laughing + + + Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. + + Name of the cache file to load + The number of inventory items sucessfully reconstructed into the inventory node tree - - Agent landing from jump, finished flight, etc + + Raised when the simulator sends us data containing + ... - - Agent sitting on a motorcycle + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + ... - - Agent moving head side to side + + + The root folder of this avatars inventory + - - Agent moving head side to side with unhappy expression + + + The default shared library folder + - - Agent taunting another + + + The root node of the avatars inventory + - - + + + The root node of the default shared library + - - Agent giving peace sign + + + 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. - - Agent pointing at self + + + Registers, unregisters, and fires events generated by incoming packets + - - Agent pointing at another + + Reference to the GridClient object - - Agent preparing for jump (bending knees) + + + Default constructor + + - - Agent punching with left hand + + + 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 - - Agent punching with right hand + + + Unregister an event handler + + Packet type to unregister the handler for + Callback to be unregistered - - Agent acting repulsed + + + Fire the events registered for this packet type + + Incoming packet type + Incoming packet + Simulator this packet was received from - - Agent trying to be Chuck Norris + + + Object that is passed to worker threads in the ThreadPool for + firing packet callbacks + - - Rocks, Paper, Scissors 1, 2, 3 + + Callback to fire for this packet - - Agent with hand flat over other hand + + Reference to the simulator that this packet came from - - Agent with fist over other hand + + The packet that needs to be processed - - Agent with two fingers spread over other hand + + + Registers, unregisters, and fires events generated by the Capabilities + event queue + - - Agent running + + Reference to the GridClient object - - Agent appearing sad + + + Default constructor + + Reference to the GridClient object - - Agent saluting + + + 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 - - Agent shooting bow (left handed) + + + Unregister a previously registered capabilities handler + + Capability event name unregister the + handler for + Callback to unregister - - Agent cupping mouth as if shouting + + + Fire the events registered for this event type synchronously + + Capability name + Decoded event body + Reference to the simulator that + generated this event - - Agent shrugging shoulders + + + Fire the events registered for this event type asynchronously + + Capability name + Decoded event body + Reference to the simulator that + generated this event - - Agent in sit position + + + Object that is passed to worker threads in the ThreadPool for + firing CAPS callbacks + - - Agent in sit position (feminine) + + Callback to fire for this packet - - 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 + + Name of the CAPS event - - Agent standing up + + Strongly typed decoded data - - Agent standing + + Reference to the simulator that generated this event - - Agent standing + + + Represends individual HTTP Download request + - - Agent standing + + URI of the item to fetch - - Agent standing + + Timout specified in milliseconds - - Agent stretching + + Download progress callback - - Agent in stride (fast walk) + + Download completed callback - - Agent surfing + + Accept the following content type - - Agent acting surprised + + Default constructor - - Agent striking with a sword + + Constructor - - Agent talking (lips moving) + + + Manages async HTTP downloads with a limit on maximum + concurrent downloads + - - Agent throwing a tantrum + + Default constructor - - Agent throwing an object (right handed) + + Cleanup method - - Agent trying on a shirt + + Setup http download request - - Agent turning to the left + + Check the queue for pending work - - Agent turning to the right + + Enqueue a new HTPP download - - Agent typing + + Maximum number of parallel downloads from a single endpoint - - Agent walking + + Client certificate - - Agent whispering + + Positional vector of the users position - - Agent whispering with fingers in mouth + + Velocity vector of the position - - Agent winking + + At Orientation (X axis) of the position - - Agent winking + + Up Orientation (Y axis) of the position - - Agent worried + + Left Orientation (Z axis) of the position - - Agent nodding yes + + + Represents Mesh asset + - - Agent nodding yes with happy face + + Initializes a new instance of an AssetMesh object - - Agent floating with legs and arms crossed + + Initializes a new instance of an AssetMesh object with parameters + A unique specific to this asset + A byte array containing the raw asset data - + - A dictionary containing all pre-defined animations + TODO: Encodes a scripts contents into a LSO Bytecode file - 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 - + - Sent to the client to indicate a teleport request has completed + TODO: Decode LSO Bytecode into a string + true - - The of the agent - - - - - - The simulators handle the agent teleported to + + Override the base classes AssetType - - A Uri which contains a list of Capabilities the simulator supports + + + Static helper functions and global variables + - - Indicates the level of access required - to access the simulator, or the content rating, or the simulators - map status + + This header flag signals that ACKs are appended to the packet - - The IP Address of the simulator + + This header flag signals that this packet has been sent before - - The UDP Port the simulator will listen for UDP traffic on + + This header flags signals that an ACK is expected for this packet - - Status flags indicating the state of the Agent upon arrival, Flying, etc. + + This header flag signals that the message is compressed using zerocoding - + - Serialize the object + - An containing the objects data + + - + - Deserialize the message + - An containing the data + + + - + - Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. + + + - + - Serialize the object + - An containing the objects data + + + - + - Deserialize the message + 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 - An containing the data + 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 - + - Serialize the object + Converts a floating point number to a terse string format used for + transmitting numbers in wearable asset files - An containing the objects data + Floating point number to convert to a string + A terse string representation of the input number - + - Deserialize the message + Convert a variable length field (byte array) to a string, with a + field name prepended to each line of the output - An containing the data + 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 - + - Serialize the object + Decode a zerocoded byte array, used to decompress packets marked + with the zerocoded flag - An containing the objects data + 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 - + - Deserialize the message + 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. - An containing the data + 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 - + - A message sent to the client which indicates a teleport request has failed - and contains some information on why it failed + 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 - - - - - 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 + Attempts to load a file embedded in the assembly - An containing the objects data + The filename of the resource to load + A Stream for the requested file, or null if the resource + was not successfully loaded - + - Deserialize the message + Attempts to load a file either embedded in the assembly or found in + a given search path - An containing the data + 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 - + - Serialize the object + Converts a list of primitives to an object that can be serialized + with the LLSD system - An containing the objects data + Primitives to convert to a serializable object + An object that can be serialized with LLSD - + - Deserialize the message + Deserializes OSD in to a list of primitives - An containing the data + 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); + } + + + + - Contains a list of prim owner information for a specific parcel in a simulator + Passed to Logger.Log() to identify the severity of a log entry - - 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 + + No logging information will be output - - - Serialize the object - - An containing the objects data + + Non-noisy useful information, may be helpful in + debugging a problem - - - Deserialize the message + + 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. - An containing the data - + - Prim ownership information for a specified owner on a single parcel + A set of textures that are layered on texture of each other and "baked" + in to a single texture, for avatar appearances - - The of the prim owner, - UUID.Zero if agent has no permission to view prim owner information + + Final baked texture - - The total number of prims + + Component layers - - True if the OwnerID is a + + Width of the final baked image and scratchpad - - True if the owner is online - This is no longer used by the LL Simulators + + Height of the final baked image and scratchpad - - The date the most recent prim was rezzed + + Bake type - + - The details of a single parcel in a region, also contains some regionwide globals + Default constructor + Bake type - - Simulator-local ID of this parcel + + + Adds layer for baking + + TexturaData struct that contains texture and its params - - Maximum corner of the axis-aligned bounding box for this - parcel + + + Converts avatar texture index (face) to Bake type + + Face number (AvatarTextureIndex) + BakeType, layer to which this texture belongs to - - Minimum corner of the axis-aligned bounding box for this - parcel + + + Make sure images exist, resize source if needed to match the destination + + Destination image + Source image + Sanitization was succefull - - Total parcel land area + + + 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 - - Key of authorized buyer + + Final baked texture - - Bitmap describing land layout in 4x4m squares across the - entire region + + Component layers - - + + Width of the final baked image and scratchpad - - Date land was claimed + + Height of the final baked image and scratchpad - - Appears to always be zero - - - Parcel Description - - - + + Bake type - - + + Is this one of the 3 skin bakes - - Total number of primitives owned by the parcel group on - this parcel + + + Represents an Animation + - - Whether the land is deeded to a group or not + + Default Constructor - - + + + Construct an Asset object of type Animation + + A unique specific to this asset + A byte array containing the raw asset data - - Maximum number of primitives this parcel supports + + Override the base classes AssetType - - The Asset UUID of the Texture which when applied to a - primitive will display the media + + + Index of TextureEntry slots for avatar appearances + - - A URL which points to any Quicktime supported media type + + + Bake layers for avatar appearance + - - A byte, if 0x1 viewer should auto scale media to fit object + + Maximum number of concurrent downloads for wearable assets and textures - - URL For Music Stream + + Maximum number of concurrent uploads for baked textures - - Parcel Name + + Timeout for fetching inventory listings - - Autoreturn value in minutes for others' objects + + Timeout for fetching a single wearable, or receiving a single packet response - - + + Timeout for fetching a single texture - - Total number of other primitives on this parcel + + Timeout for uploading a single baked texture - - UUID of the owner of this parcel + + Number of times to retry bake upload - - Total number of primitives owned by the parcel owner on - this parcel + + When changing outfit, kick off rebake after + 20 seconds has passed since the last change - - + + Total number of wearables for each avatar - - How long is pass valid for + + Total number of baked textures on each avatar - - Price for a temporary pass + + 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 - - True if the region denies access to age unverified users + + The event subscribers. null if no subcribers - - + + Raises the AgentWearablesReply event + An AgentWearablesReplyEventArgs object containing the + data returned from the data server - - This field is no longer used + + Thread sync lock object - - The result of a request for parcel properties + + The event subscribers. null if no subcribers - - 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 + + Raises the CachedBakesReply event + An AgentCachedBakesReplyEventArgs object containing the + data returned from the data server AgentCachedTextureResponse - - - Number of primitives your avatar is currently - selecting and sitting on in this parcel - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - - 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. - + + Raises the AppearanceSet event + An AppearanceSetEventArgs object indicating if the operatin was successfull - - Maximum primitives across the entire simulator + + Thread sync lock object - - Total primitives across the entire simulator + + The event subscribers. null if no subcribers - - + + Raises the RebakeAvatarRequested event + An RebakeAvatarTexturesEventArgs object containing the + data returned from the data server - - Key of parcel snapshot + + Thread sync lock object - - Parcel ownership status + + A cache of wearables currently being worn - - Total number of primitives on this parcel + + A cache of textures currently being worn - - + + Incrementing serial number for AgentCachedTexture packets - - + + Incrementing serial number for AgentSetAppearance packets - - A description of the media + + Indicates whether or not the appearance thread is currently + running, to prevent multiple appearance threads from running + simultaneously - - An Integer which represents the height of the media + + Reference to our agent - - An integer which represents the width of the media + + + Timer used for delaying rebake on changing outfit + - - A boolean, if true the viewer should loop the media + + + Main appearance thread + - - A string which contains the mime type of the media + + + Default constructor + + A reference to our agent - - true to obscure (hide) media url + + + Obsolete method for setting appearance. This function no longer does anything. + Use RequestSetAppearance() to manually start the appearance thread + - - true to obscure (hide) music url + + + Obsolete method for setting appearance. This function no longer does anything. + Use RequestSetAppearance() to manually start the appearance thread + + Unused parameter - + - Serialize the object + Starts the appearance setting thread - An containing the objects data - + - Deserialize the message + Starts the appearance setting thread - An containing the data + True to force rebaking, otherwise false - - A message sent from the viewer to the simulator to updated a specific parcels settings + + + Ask the server what textures our agent is currently wearing + - - The of the agent authorized to purchase this - parcel of land or a NULL if the sale is authorized to anyone - - - true to enable auto scaling of the parcel media - - - The category of this parcel used when search is enabled to restrict - search results - - - A string containing the description to set - - - The of the which allows for additional - powers and restrictions. - - - The which specifies how avatars which teleport - to this parcel are handled - - - The LocalID of the parcel to update settings on - - - A string containing the description of the media which can be played - to visitors - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - Deserialize the message + Build hashes out of the texture assetIDs for each baking layer to + ask the simulator whether it has cached copies of each baked texture - An containing the data - + - Serialize the object + Returns the AssetID of the asset that is currently being worn in a + given WearableType slot - An containing the objects data - - - Base class used for the RemoteParcelRequest message + 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 - + - A message sent from the viewer to the simulator to request information - on a remote parcel + Add a wearable to the current outfit and set appearance + Wearable to be added to the outfit - - 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 + Add a list of wearables to the current outfit and set appearance - An containing the objects data + List of wearable inventory items to + be added to the outfit - + - Deserialize the message + Remove a wearable from the current outfit and set appearance - An containing the data + Wearable to be removed from the outfit - + - A message sent from the simulator to the viewer in response to a - which will contain parcel information + Removes a list of wearables from the current outfit and set appearance + List of wearable inventory items to + be removed from the outfit - - The grid-wide unique parcel ID - - + - Serialize the object + Replace the current outfit with a list of wearables and set appearance - An containing the objects data + List of wearable inventory items that + define a new outfit - + - Deserialize the message + Checks if an inventory item is currently being worn - An containing the data + 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 - + - A message containing a request for a remote parcel from a viewer, or a response - from the simulator to that request + 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 - - The request or response details block - - + - Serialize the object + Calls either or + depending on the value of + replaceItems - An containing the objects data + 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 - + - Deserialize the message + Adds a list of attachments to our agent - An containing the data + A List containing the attachments to add + If true, tells simulator to remove existing attachment + first - + - Serialize the object + Attach an item to our agent at a specific attach point - An containing the objects data + A to attach + the on the avatar + to attach the item to - + - Deserialize the message + Attach an item to our agent specifying attachment details - An containing the data + 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 - + - Serialize the object + Detach an item from our agent using an object - An containing the objects data + An object - + - Deserialize the message + Detach an item from our agent - An containing the data + The inventory itemID of the item to detach - + - A message sent from the simulator to an agent which contains - the groups the agent is in + Inform the sim which wearables are part of our current outfit - - The Agent receiving the message - - - An array containing information - for each the agent is a member of + + + Replaces the Wearables collection with a list of new wearable items + + Wearable items to replace the Wearables collection with - - An array containing information - for each the agent is a member of + + + 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 - + - Serialize the object + Blocking method to populate the Wearables dictionary - An containing the objects data + True on success, otherwise false - + - Deserialize the message + Blocking method to populate the Textures array with cached bakes - An containing the data + True on success, otherwise false - - Group Details specific to the agent - - - true of the agent accepts group notices - - - The agents tier contribution to the group - - - The Groups - - - The of the groups insignia - - - The name of the group - - - The aggregate permissions the agent has in the group for all roles the agent - is assigned - - - An optional block containing additional agent specific information - - - true of the agent allows this group to be - listed in their profile - - + - A message sent from the viewer to the simulator which - specifies the language and permissions for others to detect - the language specified + Populates textures and visual params from a decoded asset + Wearable to decode - - A string containng the default language - to use for the agent - - - true of others are allowed to - know the language setting - - + - Serialize the object + Blocking method to download and parse currently worn wearable assets - An containing the objects data + True on success, otherwise false - + - Deserialize the message + Get a list of all of the textures that need to be downloaded for a + single bake layer - An containing the data + Bake layer to get texture AssetIDs for + A list of texture AssetIDs to download - + - An EventQueue message sent from the simulator to an agent when the agent - leaves a group + Helper method to lookup the TextureID for a single layer and add it + to a list if it is not already present + + - + - An Array containing the AgentID and GroupID + 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 - + - Serialize the object + Blocking method to create and upload baked textures for all of the + missing bakes - An containing the objects data + True on success, otherwise false - + - Deserialize the message + Blocking method to create and upload a baked texture for a single + bake layer - 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 + Layer to bake + True on success, otherwise false - + - The request state + 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 - + - Serialize the object + Creates a dictionary of visual param values from the downloaded wearables - An containing the objects data + A dictionary of visual param indices mapping to visual param + values for our agent that can be fed to the Baker class - + - Deserialize the message + Create an AgentSetAppearance packet from Wearables data and the + Textures array and send it - 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 + Converts a WearableType to a bodypart or clothing WearableType + A WearableType + AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown - - 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 + Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex + A BakeType + The AvatarTextureIndex slot that holds the given BakeType - - 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 + Gives the layer number that is used for morph mask + >A BakeType + Which layer number as defined in BakeTypeToTextures is used for morph mask - - Object containing request or response - - + - Serialize the object + Converts a BakeType to a list of the texture slots that make up that bake - An containing the objects data + A BakeType + A list of texture slots that are inputs for the given bake - - - Deserialize the message - - An containing the data + + 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. + + - A message sent from the simulator which indicates the minimum version required for - using voice chat + Raised when appearance data is sent to the simulator, also indicates + the main appearance thread is finished. + request. - - Major Version Required - - - Minor version required - - - The name of the region sending the version requrements - - + - Serialize the object + Triggered when the simulator requests the agent rebake its appearance. - An containing the objects data + - + - Deserialize the message + Returns true if AppearanceManager is busy and trying to set or change appearance will fail - An containing the data - + - A message sent from the simulator to the viewer containing the - voice server URI + Contains information about a wearable inventory item - - The Parcel ID which the voice server URI applies + + Inventory ItemID of the wearable - - The name of the region + + AssetID of the wearable asset - - A uri containing the server/channel information - which the viewer can utilize to participate in voice conversations + + WearableType of the wearable - - - Serialize the object - - An containing the objects data + + AssetType of the wearable - + + Asset data for the wearable + + - Deserialize the message + Data collected from visual params for each wearable + needed for the calculation of the color - An containing the data - + - + 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 - - - Serialize the object - - An containing the objects data + + Collection of alpha masks that needs applying - - - Deserialize the message - - An containing the data + + Tint that should be applied to the texture - - - 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 - + + Where on avatar does this texture belong - - Object containing request or response + + 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 + + - Serialize the object - - An containing the objects data + Triggered when appearance data is sent to the sim and + the main appearance thread is done. + Indicates whether appearance setting was successful - + + Indicates whether appearance setting was successful + + + Contains the Event data returned from the data server from an RebakeAvatarTextures + + - Deserialize the message + Triggered when the simulator sends a request for this agent to rebake + its appearance - An containing the data + The ID of the Texture Layer to bake - + + The ID of the Texture Layer to bake + + - A message sent from the simulator to the viewer to indicate - a Tasks scripts status. + The current status of a texture request as it moves through the pipeline or final result of a texture request. - - The Asset ID of the script + + The initial state given to a request. Requests in this state + are waiting for an available slot in the pipeline - - True of the script is compiled/ran using the mono interpreter, false indicates it - uses the older less efficient lsl2 interprter + + A request that has been added to the pipeline and the request packet + has been sent to the simulator - - The Task containing the scripts + + A request that has received one or more packets back from the simulator - - true of the script is in a running state + + A request that has received all packets back from the simulator - - - Serialize the object - - An containing the objects data + + 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 + + - Deserialize the message + 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. - An containing the data + 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. - + - A message containing the request/response used for updating a gesture - contained with an agents inventory + 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. - - Object containing request or response + + 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 - - - Serialize the object - - An containing the objects data + + Holds the reference to the client object - - - Deserialize the message - - An containing the data + + Maximum concurrent texture requests allowed at a time - - - A message request/response which is used to update a notecard contained within - a tasks inventory - + + An array of objects used to manage worker request threads - - The of the Task containing the notecard asset to update + + An array of worker slots which shows the availablity status of the slot - - The notecard assets contained in the tasks inventory + + 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 + + - Serialize the object + Default constructor, Instantiates a new copy of the TexturePipeline class - An containing the objects data + Reference to the instantiated object - + - Deserialize the message + Initialize callbacks required for the TexturePipeline to operate - An containing the data - + - A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability - which is used to update an asset in an agents inventory + Shutdown the TexturePipeline and cleanup any callbacks or transfers - + - The Notecard AssetID to replace + 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 - + - Serialize the object + Sends the actual request packet to the simulator - An containing the objects data + 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 - + - Deserialize the message + Cancel a pending or in process texture request - An containing the data + The texture assets unique ID - + - A message containing the request/response used for updating a notecard - contained with an agents inventory + Master Download Thread, Queues up downloads in the threadpool - - Object containing request or response - - + - Serialize the object + The worker thread that sends the request and handles timeouts - An containing the objects data + A object containing the request details - + - Deserialize the message + 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 - An containing the data + The sender + The EventArgs object containing the packet data - + - Serialize the object + Handles the remaining Image data that did not fit in the initial ImageData packet - An containing the objects data + The sender + The EventArgs object containing the packet data - + - Deserialize the message + Handle the initial ImageDataPacket sent from the simulator - An containing the data + The sender + The EventArgs object containing the packet data - + + Current number of pending and in-process transfers + + - 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 request task containing information and status of a request as it is processed through the - - true of the script was successfully compiled by the simulator - - - A string containing the error which occured while trying - to update the script + + The current which identifies the current status of the request - - A new AssetID assigned to the script + + The Unique Request ID, This is also the Asset ID of the texture being requested - - - A message sent from the viewer to the simulator - requesting the update of an existing script contained - within a tasks inventory - + + The slot this request is occupying in the threadpoolSlots array - - if true, set the script mode to running + + The ImageType of the request. - - The scripts InventoryItem ItemID to update + + The callback to fire when the request is complete, will include + the and the + object containing the result data - - 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 + + If true, indicates the callback will be fired whenever new data is returned from the simulator. + This is used to progressively render textures as portions of the texture are received. - - The tasks which contains the script to update + + An object that maintains the data of an request thats in-process. - + - Serialize the object + Wrapper around a byte array that allows bit to be packed and unpacked + one at a time or by a variable amount. Useful for very tightly packed + data like LayerData packets - An containing the objects data - + + + + - Deserialize the message + Default constructor, initialize the bit packer / bit unpacker + with a byte array and starting position - An containing the data + Byte array to pack bits in to or unpack from + Starting position in the byte array - + - A message containing either the request or response used in updating a script inside - a tasks inventory + Pack a floating point value in to the data + Floating point value to pack - - Object containing request or response - - + - Serialize the object + Pack part or all of an integer in to the data - An containing the objects data + Integer containing the data to pack + Number of bits of the integer to pack - + - Deserialize the message + Pack part or all of an unsigned integer in to the data - An containing the data + Unsigned integer containing the data to pack + Number of bits of the integer to pack - + - Response from the simulator to notify the viewer the upload is completed, and - the UUID of the script asset and its compiled status + Pack a single bit in to the data + Bit to pack - - The uploaded texture asset ID - - - true of the script was compiled successfully - - + - A message sent from a viewer to the simulator requesting a temporary uploader capability - used to update a script contained in an agents inventory + + + + + - - The existing asset if of the script in the agents inventory to replace - - - The language of the script - Defaults to lsl version 2, "mono" might be another possible option + + + + + - + - Serialize the object + - An containing the objects data + - + - Deserialize the message + Unpacking a floating point value from the data - An containing the data + Unpacked floating point value - + - A message containing either the request or response used in updating a script inside - an agents inventory + 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 - - Object containing request or response + + + 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 - + - Serialize the object + Unpack a 16-bit signed integer - An containing the objects data + 16-bit signed integer - + - Deserialize the message + Unpack a 16-bit unsigned integer - An containing the data + 16-bit unsigned integer - + - Serialize the object + Unpack a 32-bit signed integer - An containing the objects data + 32-bit signed integer - + - Deserialize the message + Unpack a 32-bit unsigned integer - An containing the data + 32-bit unsigned integer - - Base class for Map Layers via Capabilities + + - + - + - Serialize the object + Class that handles the local asset cache - An containing the objects data - + - Deserialize the message + Default constructor - An containing the data + A reference to the GridClient object - + - Sent by an agent to the capabilities server to request map layers + Disposes cleanup timer - + - A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates + Only create timer when needed - - An array containing LayerData items - - + - Serialize the object + Return bytes read from the local asset cache, null if it does not exist - An containing the objects data + UUID of the asset we want to get + Raw bytes of the asset, or null on failure - + - Deserialize the message + Returns ImageDownload object of the + image from the local image cache, null if it does not exist - An containing the data + UUID of the image we want to get + ImageDownload object containing the image, or null on failure - + - An object containing map location details + Constructs a file name of the cached asset + UUID of the asset + String with the file name of the cahced asset - - 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 + Saves an asset to the local cache - An containing the objects data + UUID of the asset + Raw bytes the asset consists of + Weather the operation was successfull - + - Deserialize the message + Get the file name of the asset stored with gived UUID - An containing the data + UUID of the asset + Null if we don't have that UUID cached on disk, file name if found in the cache folder - + - New as of 1.23 RC1, no details yet. + Checks if the asset exists in the local cache + UUID of the asset + True is the asset is stored in the cache, otherwise false - + - Serialize the object + Wipes out entire cache - An containing the objects data - + - Deserialize the message + Brings cache size to the 90% of the max size - An containing the data - + - Serialize the object + Asynchronously brings cache size to the 90% of the max size - An containing the objects data - + - Deserialize the message + Adds up file sizes passes in a FileInfo array - An containing the data - - - A string containing the method used - - - - A request sent from an agent to the Simulator to begin a new conference. - Contains a list of Agents which will be included in the conference - - - - An array containing the of the agents invited to this conference - - The conferences Session ID - - + - Serialize the object + Checks whether caching is enabled - An containing the objects data - + - Deserialize the message + Periodically prune the cache - 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 + Nicely formats file sizes - "text" or "voice" - - - + Byte size we want to output + String with humanly readable file size - + - Serialize the object + Allows setting weather to periodicale prune the cache if it grows too big + Default is enabled, when caching is enabled - An containing the objects data - + - Deserialize the message + How long (in ms) between cache checks (default is 5 min.) - An containing the data - + - A message sent from the agent to the simulator which tells the - simulator we've accepted a conference invitation + Helper class for sorting files by their last accessed time - - The conference SessionID - - + - Serialize the object + Capability to load TGAs to Bitmap - An containing the objects data - + - Deserialize the message + Represents a Sound Asset - An containing the data - - - Serialize the object - - An containing the objects data + + Initializes a new instance of an AssetSound object - - - Deserialize the message - - An containing the 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 - + - Serialize the object + TODO: Encodes a sound file - An containing the objects data - + - Deserialize the message + TODO: Decode a sound file - An containing the data + true - - - Serialize the object - - An containing the objects data + + Override the base classes AssetType - + - Deserialize the message + Represents an LSL Text object containing a string of UTF encoded characters - 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 string of characters represting the script contents - - Is this invitation for voice group/conference chat + + Initializes a new AssetScriptText object - + - Serialize the object + Initializes a new AssetScriptText object with parameters - An containing the objects data + A unique specific to this asset + A byte array containing the raw asset data - + - Deserialize the message + Encode a string containing the scripts contents into byte encoded AssetData - 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. + Decode a byte array containing the scripts contents into a string + true if decoding is successful - - - Serialize the object - - An containing the objects data + + Override the base classes AssetType - + - Deserialize the message + Represents a Landmark with RegionID and Position vector - An containing the data - - - An EventQueue message sent when the agent is forcibly removed from a chatterbox session - + + UUID of the Landmark target region - + + Local position of the target + + + Construct an Asset of type Landmark + + - A string containing the reason the agent was removed + Construct an Asset object of type Landmark + A unique specific to this asset + A byte array containing the raw asset data - + - The ChatterBoxSession's SessionID + Encode the raw contents of a string with the specific Landmark format - + - Serialize the object + Decode the raw asset data, populating the RegionID and Position - An containing the objects data + true if the AssetData was successfully decoded to a UUID and Vector - + + Override the base classes AssetType + + - Deserialize the message + Represents an that can be worn on an avatar + such as a Shirt, Pants, etc. - An containing the data - - - Serialize the object - - An containing the objects data + + Initializes a new instance of an AssetScriptBinary object - - - Deserialize the message - - An containing the data + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - - Serialize the object - - An containing the objects data + + Override the base classes AssetType - + - Deserialize the message + Main class to expose grid functionality to clients. All of the + classes needed for sending and receiving data are accessible through + this class. - An containing the data + + + // 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 + + - Serialize the object + Default constructor - An containing the objects data - + - Deserialize the message + Return the full name of this instance - An containing the data + Client avatars full name - + - Serialize the object + Attempts to convert an LLSD structure to a known Packet type - An containing the objects data + Event name, this must match an actual + packet name for a Packet to be successfully built + LLSD to convert to a Packet + A Packet on success, otherwise null - + - Deserialize the message + Image width - An containing the data - + - + Image height - + - Serialize the object + Image channel flags - An containing the objects data - + - Deserialize the message + Red channel data - An containing the data - + - Serialize the object + Green channel data - An containing the objects data - + - Deserialize the message + Blue channel data - An containing the data - + - Serialize the object + Alpha channel data - An containing the objects data - + - Deserialize the message + Bump channel data - An containing the data - + - A message sent from the viewer to the simulator which - specifies that the user has changed current URL - of the specific media on a prim face + Create a new blank image + width + height + channel flags - + - New URL + + - + - Prim UUID where navigation occured + Convert the channels in the image. Channels are created or destroyed as required. + new channel flags - + - Face index + Resize or stretch the image using nearest neighbor (ugly) resampling + new width + new height - + - Serialize the object + Create a byte array containing 32-bit RGBA data with a bottom-left + origin, suitable for feeding directly into OpenGL - An containing the objects data + A byte array containing raw texture data - + - Deserialize the message + Represents a texture - An containing the data - - Base class used for the ObjectMedia message + + A object containing image data - - - Message used to retrive prim media data - + + - - - Prim UUID - + + - + + Initializes a new instance of an AssetTexture object + + - Requested operation, either GET or UPDATE + Initializes a new instance of an AssetTexture object + A unique specific to this asset + A byte array containing the raw asset data - + - Serialize object + Initializes a new instance of an AssetTexture object - Serialized object as OSDMap + A object containing texture data - + - Deserialize the message + Populates the byte array with a JPEG2000 + encoded image created from the data in - An containing the data - + - Message used to update prim media data + Decodes the JPEG2000 data in AssetData to the + object + True if the decoding was successful, otherwise false - + - Prim UUID + Decodes the begin and end byte positions for each quality layer in + the image + - - - Array of media entries indexed by face number - + + Override the base classes AssetType - + - Media version string + Temporary code to do the bare minimum required to read a tar archive for our purposes - + - Serialize object + Binary reader for the underlying stream - Serialized object as OSDMap - + - Deserialize the message + Used to trim off null chars - An containing the data - + - Message used to update prim media data + Used to trim off space chars - + - Prim UUID + Generate a tar reader which reads from the given stream. + - + - Array of media entries indexed by face number + Read the next entry in the tar file. + + + the data for the entry. Returns null if there are no more entries - + - Requested operation, either GET or UPDATE + 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. - + - Serialize object + Read data following a header - Serialized object as OSDMap + + - + - Deserialize the message + Convert octal bytes to a decimal representation - An containing the data + + + + - - - Message for setting or getting per face MediaEntry - + + X position of this patch - - The request or response details block + + Y position of this patch - + + A 16x16 array of floats holding decompressed layer data + + - Serialize the object + Creates a LayerData packet for compressed land data given a full + simulator heightmap and an array of indices of patches to compress - An containing the objects data + 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 + - + - Deserialize the message + Add a patch of terrain to a BitPacker - An containing the data - - - Details about object resource usage + 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 - - Object UUID + + + + - - Object name + + No report - - Indicates if object is group owned + + Unknown report type - - Locatio of the object + + Bug report - - Object owner + + Complaint report - - Resource usage, keys are resource names, values are resource usage for that specific resource + + Customer service report - + - Deserializes object from OSD + Bitflag field for ObjectUpdateCompressed data blocks, describing + which options are present for each object - An containing the data - - - Makes an instance based on deserialized data - - serialized data - Instance containg deserialized data + + Unknown - - Details about parcel resource usage + + Whether the object has a TreeSpecies - - Parcel UUID + + Whether the object has floating text ala llSetText - - Parcel local ID + + Whether the object has an active particle system - - Parcel name + + Whether the object has sound attached to it - - Indicates if parcel is group owned + + Whether the object is attached to a root object or not - - Parcel owner + + Whether the object has texture animation settings - - Array of containing per object resource usage + + Whether the object has an angular velocity - - - Deserializes object from OSD - - An containing the data + + Whether the object has a name value pairs string - + + Whether the object has a Media URL set + + - Makes an instance based on deserialized data + Specific Flags for MultipleObjectUpdate requests - serialized data - Instance containg deserialized data - - - Resource usage base class, both agent and parcel resource - usage contains summary information - - Summary of available resources, keys are resource names, - values are resource usage for that specific resource + + None - - Summary resource usage, keys are resource names, - values are resource usage for that specific resource + + Change position of prims - - - Serializes object - - serialized data + + Change rotation of prims - - - Deserializes object from OSD - - An containing the data + + Change size of prims - - Agent resource usage + + Perform operation on link set - - Per attachment point object resource usage + + Scale prims uniformly, same as selecing ctrl+shift in the + viewer. Used in conjunction with Scale - + - Deserializes object from OSD + Special values in PayPriceReply. If the price is not one of these + literal value of the price should be use - An containing the data - + - Makes an instance based on deserialized data + Indicates that this pay option should be hidden - serialized data - Instance containg deserialized data - + - Detects which class handles deserialization of this message + Indicates that this pay option should have the default value - 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 + Contains the variables sent in an object update packet for objects. + Used to track position and movement of prims and avatars - 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 + + - - - Image width - + + - - - Image height - + + - + - Image channel flags + Handles all network traffic related to prims and avatar positions and + movement. - - - Red channel data - + + The event subscribers, null of no subscribers - - - Green channel data - + + Thread sync lock object - - - Blue channel data - + + The event subscribers, null of no subscribers - - - Alpha channel data - + + Raises the ObjectProperties Event + A ObjectPropertiesEventArgs object containing + the data sent from the simulator - - - Bump channel data - + + Thread sync lock object - - - Create a new blank image - - width - height - channel flags + + The event subscribers, null of no subscribers - - - - - + + Raises the ObjectPropertiesUpdated Event + A ObjectPropertiesUpdatedEventArgs object containing + the data sent from the simulator - - - Convert the channels in the image. Channels are created or destroyed as required. - - new channel flags + + Thread sync lock object - - - Resize or stretch the image using nearest neighbor (ugly) resampling - - new width - new height + + The event subscribers, null of no subscribers - - - 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 + + Raises the ObjectPropertiesFamily Event + A ObjectPropertiesFamilyEventArgs object containing + the data sent from the simulator - - - Operation to apply when applying color to texture - + + Thread sync lock object - - - Information needed to translate visual param value to RGBA color - + + The event subscribers, null of no subscribers - - - Construct VisualColorParam - - Operation to apply when applying color to texture - Colors + + Raises the AvatarUpdate Event + A AvatarUpdateEventArgs object containing + the data sent from the simulator - - - Represents alpha blending and bump infor for a visual parameter - such as sleive length - + + Thread sync lock object - - Stregth of the alpha to apply + + The event subscribers, null of no subscribers - - File containing the alpha channel + + Thread sync lock object - - Skip blending if parameter value is 0 + + The event subscribers, null of no subscribers - - Use miltiply insted of alpha blending + + Raises the ObjectDataBlockUpdate Event + A ObjectDataBlockUpdateEventArgs object containing + the data sent from the simulator - - - 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 + + Thread sync lock object - - - A single visual characteristic of an avatar mesh, such as eyebrow height - + + The event subscribers, null of no subscribers - - Index of this visual param + + Raises the KillObject Event + A KillObjectEventArgs object containing + the data sent from the simulator - - Internal name + + Thread sync lock object - - Group ID this parameter belongs to + + The event subscribers, null of no subscribers - - Name of the wearable this parameter belongs to + + Raises the AvatarSitChanged Event + A AvatarSitChangedEventArgs object containing + the data sent from the simulator - - Displayable label of this characteristic + + Thread sync lock object - - Displayable label for the minimum value of this characteristic + + The event subscribers, null of no subscribers - - Displayable label for the maximum value of this characteristic + + Raises the PayPriceReply Event + A PayPriceReplyEventArgs object containing + the data sent from the simulator - - Default value + + Thread sync lock object - - Minimum value + + Reference to the GridClient object - - Maximum value + + Does periodic dead reckoning calculation to convert + velocity and acceleration to new positions for objects - - Is this param used for creation of bump layer? + + + Construct a new instance of the ObjectManager class + + A reference to the instance - - Alpha blending/bump info - - - Color information - - - Array of param IDs that are drivers for this parameter - - + - Set all the values through the constructor + Request information for a single object from a + you are currently connected to - 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 + The the object is located + The Local ID of the object - + - Holds the Params array of all the avatar appearance parameters + Request information for multiple objects contained in + the same simulator + The the objects are located + An array containing the Local IDs of the objects - - 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 + + + 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); + + - + - Possible destinations for DeRezObject request + 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 - - - - - 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 + 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 + - - 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 + 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 + - - of item/folder - - - of parent folder - - - Name of item/folder + + + 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 + - - Item/Folder Owners + + + 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 + - + - Constructor, takes an itemID as a parameter + Update the properties of an object - The of the item + The the object is located + The Local ID of the object + true to turn the objects physical property on + true to turn the objects temporary property on + true to turn the objects phantom property on + true to turn the objects cast shadows property on - + - + Sets the sale properties of a single object - + The the object is located + The Local ID of the object + One of the options from the enum + The price of the object - + - - - + Sets the sale properties of multiple objects + + The the objects are located + An array containing the Local IDs of the objects + One of the options from the enum + The price of the object - + - 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 + Deselect a single object - A Hashcode of all the combined InventoryBase fields + The the object is located + The Local ID of the object - + - Determine whether the specified object is equal to the current object + Deselect multiple objects. - InventoryBase object to compare against - true if objects are the same + The the objects are located + An array containing the Local IDs of the objects - + - Determine whether the specified object is equal to the current object + Perform a click action on an object - InventoryBase object to compare against - true if objects are the same + The the object is located + The Local ID of the object - + - An Item in Inventory + 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 - - 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 + Create (rez) a new prim object in a simulator - The of the item + 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 - + - Construct a new InventoryItem object of a specific Type + Create (rez) a new prim object in a simulator - The type of item from - of the item + 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 - + - Indicates inventory item is a link + Rez a Linden tree - True if inventory item is a link to another inventory item + 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 - + - 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 + Set the textures to apply to the faces of an object - A Hashcode of all the combined InventoryItem fields + 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) - + - Compares an object + Set the Light data on an object - The object to compare - true if comparison object matches + 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 - + - Determine whether the specified object is equal to the current object + Set the flexible data on an object - The object to compare against - true if objects are the same + 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 - + - Determine whether the specified object is equal to the current object + Set the sculptie texture and data on an object - The object to compare against - true if objects are the same + 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 - + - InventoryTexture Class representing a graphical image + 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 - + - Construct an InventoryTexture object + Link multiple prims into a linkset - A which becomes the - objects AssetUUID + 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? - + - Construct an InventoryTexture object from a serialization stream + 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 - + - InventorySound Class representing a playable sound + 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 - + - Construct an InventorySound object + Set the name of an object - A which becomes the - objects AssetUUID + 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 - + - Construct an InventorySound object from a serialization stream + 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 - + - InventoryCallingCard Class, contains information on another avatar + 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 - + - Construct an InventoryCallingCard object + Set the descriptions of multiple objects - A which becomes the - objects AssetUUID + 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 - + - Construct an InventoryCallingCard object from a serialization stream + 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 - + - InventoryLandmark Class, contains details on a specific location + 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 - + - Construct an InventoryLandmark object + Detach an object from yourself - A which becomes the - objects AssetUUID + 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 - + - Construct an InventoryLandmark object from a serialization stream + 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 - + - Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited + 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 - - - 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 + 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 - + - Gets or sets the upper byte of the Flags 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 - + - Gets or sets the object attachment point, the lower byte of the Flags value + 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 - + - InventoryNotecard Class, contains details on an encoded text document + 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 - + - Construct an InventoryNotecard object + Deed multiple objects (prims) to a group, Objects must be shared with group which + can be accomplished with SetPermissions() - A which becomes the - objects AssetUUID + 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 - + - Construct an InventoryNotecard object from a serialization stream + 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? - + - InventoryCategory Class + Request additional properties for an object - TODO: Is this even used for anything? + A reference to the object where the object resides + - + - Construct an InventoryCategory object + Request additional properties for an object - A which becomes the - objects AssetUUID + A reference to the object where the object resides + Absolute UUID of the object + Whether to require server acknowledgement of this request - + - Construct an InventoryCategory object from a serialization stream + 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 - + - InventoryLSL Class, represents a Linden Scripting Language object + Update current URL of the previously set prim media + UUID of the prim + Set current URL to this + Prim face number + Simulator in which prim is located - + - Construct an InventoryLSL object + Set object media - A which becomes the - objects AssetUUID + 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 - + - Construct an InventoryLSL object from a serialization stream + Retrieve information about object media + UUID of the primitive + Simulator where prim is located + Call this callback when done - - - InventorySnapshot Class, an image taken with the viewer - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Construct an InventorySnapshot object + A terse object update, used when a transformation matrix or + velocity/acceleration for an object changes but nothing else + (scale/position/rotation/acceleration/velocity) - A which becomes the - objects AssetUUID + The sender + The EventArgs object containing the packet data - - - Construct an InventorySnapshot object from a serialization stream - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - InventoryAttachment Class, contains details on an attachable object - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Construct an InventoryAttachment object - - A which becomes the - objects AssetUUID + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Construct an InventoryAttachment object from a serialization stream - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Get the last AttachmentPoint this object was attached to - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - InventoryWearable Class, details on a clothing item or body part - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Construct an InventoryWearable object + Setup construction data for a basic primitive shape - A which becomes the - objects AssetUUID + Primitive shape to construct + Construction data that can be plugged into a - + - Construct an InventoryWearable object from a serialization stream + + + + + - + - The , Skin, Shape, Skirt, Etc + + + - + - InventoryAnimation Class, A bvh encoded object which animates an avatar + 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 - + - Construct an InventoryAnimation object + Set the Material data of an object - A which becomes the - objects AssetUUID + 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 - + - 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 + + Raised when the simulator sends us data containing + A , Foliage or Attachment + + - - - Construct an InventoryGesture object from a serialization stream - + + Raised when the simulator sends us data containing + additional information + + - - - A folder contains s and has certain attributes specific - to itself - - - - The Preferred for a folder. - - - The Version of this folder + + Raised when the simulator sends us data containing + Primitive.ObjectProperties for an object we are currently tracking - - Number of child items this folder contains. + + Raised when the simulator sends us data containing + additional and details + - - - Constructor - - UUID of the folder + + Raised when the simulator sends us data containing + updated information for an - - - - - + + Raised when the simulator sends us data containing + and movement changes - - - Get Serilization data for this InventoryFolder object - + + Raised when the simulator sends us data containing + updates to an Objects DataBlock - - - Construct an InventoryFolder object from a serialization stream - + + Raised when the simulator informs us an + or is no longer within view - - - - - + + Raised when the simulator sends us data containing + updated sit information for our - - - - - - + + Raised when the simulator sends us data containing + purchase price information for a - + - + Callback for getting object media data via CAP - - + Indicates if the operation was succesfull + Object media version string + Array indexed on prim face of media entry data - - + + Provides data for the event + The event occurs when the simulator sends + an containing a Primitive, Foliage or Attachment data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or + if an Avatar crosses the border into a new simulator and returns to the current simulator + + + The following code example uses the , , and + properties to display new Primitives and Attachments on the window. + + // Subscribe to the event that gives us prim and foliage information + Client.Objects.ObjectUpdate += Objects_ObjectUpdate; + - - - + private void Objects_ObjectUpdate(object sender, PrimEventArgs e) + { + Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); + } + + + + + - + - Tools for dealing with agents inventory + 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 - - 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 + + Get the simulator the originated from - - Thread sync lock object + + Get the details - - The event subscribers, null of no subscribers + + true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) - - Raises the TaskItemReceived Event - A TaskItemReceivedEventArgs object containing - the data sent from the simulator + + true if the is attached to an - - Thread sync lock object + + Get the simulator Time Dilation - - The event subscribers, null of no subscribers + + 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); + } + } + + + + - - Raises the FindObjectByPath Event - A FindObjectByPathEventArgs object containing - the data sent from the simulator + + + 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 - - Thread sync lock object + + Get the simulator the object originated from - - The event subscribers, null of no subscribers + + Get the data - - Raises the TaskInventoryReply Event - A TaskInventoryReplyEventArgs object containing - the data sent from the simulator + + Get the simulator time dilation - - Thread sync lock object + + true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) - - The event subscribers, null of no subscribers + + Provides additional primitive data for the event + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment data + The event is also raised when a request is + made. + + + The following code example uses the , and + + properties to display new attachments and send a request for additional properties containing the name of the + attachment then display it on the window. + + // Subscribe to the event that provides additional primitive details + Client.Objects.ObjectProperties += Objects_ObjectProperties; + + // handle the properties data that arrives + private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) + { + Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); + } + + - - Raises the SaveAssetToInventory Event - A SaveAssetToInventoryEventArgs object containing - the data sent from the simulator + + + Construct a new instance of the ObjectPropertiesEventArgs class + + The simulator the object is located + The primitive Properties - - Thread sync lock object + + Get the simulator the object is located - - The event subscribers, null of no subscribers + + Get the primitive properties - - Raises the ScriptRunningReply Event - A ScriptRunningReplyEventArgs object containing - the data sent from the simulator + + Provides additional primitive data for the event + The event occurs when the simulator sends + an containing additional details for a Primitive or Foliage data that is currently + being tracked in the dictionary + The event is also raised when a request is + made and is enabled + - - Thread sync lock object + + + Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class + + The simulator the object is located + The Primitive + The primitive Properties - - Partial mapping of AssetTypes to folder names + + Get the simulator the object is located - - - Default constructor - - Reference to the GridClient object + + Get the primitive details - - - Fetch an inventory item from the dataserver - - The items - The item Owners - a integer representing the number of milliseconds to wait for results - An object on success, or null if no item was found - Items will also be sent to the event + + Get the primitive properties - - - Request A single inventory item - - The items - The item Owners - + + 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 + - - - Request inventory items - - Inventory items to request - Owners of the inventory items - + + Get the simulator the object is located - - - Get contents of a folder - - The of the folder to search - The of the folders owner - true to retrieve folders - true to retrieve items - sort order to return results in - a integer representing the number of milliseconds to wait for results - A list of inventory items matching search criteria within folder - - InventoryFolder.DescendentCount will only be accurate if both folders and items are - requested + + - - - Request the contents of an inventory folder - - The folder to search - The folder owners - true to return s contained in folder - true to return s containd in folder - the sort order to return items in - + + - - - Returns the UUID of the folder (category) that defaults to - containing 'type'. The folder is not necessarily only for that - type - - This will return the root folder if one does not exist - - The UUID of the desired folder if found, the UUID of the RootFolder - if not found, or UUID.Zero on failure + + Provides primitive data containing updated location, velocity, rotation, textures for the event + The event occurs when the simulator sends updated location, velocity, rotation, etc + - - - 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 + + Get the simulator the object is located - - - 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 primitive details - - - 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 + + Get the simulator the object is located - - - Update folder properties - - of the folder to update - Sets folder's parent to - Folder name - Folder type + + Get the primitive details - - - 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 + + Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the + event - - - Remove descendants of a folder - - The of the folder + + Get the simulator the object is located - - - Remove a single item from inventory - - The of the inventory item to remove + + The LocalID of the object - + - Remove a folder from inventory + Provides updates sit position data - 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 + + Get the simulator the object is located - - - 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 + + Get the simulator the object is located - - - 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 + Indicates if the operation was successful - 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 + Media version string - 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 + Array of media entries indexed by face number - 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 - + - - - - + - + - + De-serialization constructor for the InventoryNode Class - - - - - - + - + Serialization handler for the InventoryNode Class - - - - - - + - Request a copy of an asset embedded within a notecard + De-serialization handler for the InventoryNode 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 - + - + - + + + + + + + + + + + + + - + For inventory folder nodes specifies weather the folder needs to be + refreshed from the server - - + - - - + + The avatar has no rights + + + The avatar can see the online status of the target avatar + + + The avatar can see the location of the target avatar on the map + + + The avatar can modify the ojects of the target avatar + + - + This class holds information about an avatar in the friends list. There are two ways + to interface to this class. The first is through the set of boolean properties. This is the typical + way clients of this class will use it. The second interface is through two bitflag properties, + TheirFriendsRights and MyFriendsRights - - - - + - Save changes to notecard embedded in object contents + Used internally when building the initial list of friends at login time - Encoded notecard asset data - Notecard UUID - Object's UUID - Called upon finish of the upload with status information + 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 - + - Upload new gesture asset for an inventory gesture item + FriendInfo represented as a string - Encoded gesture asset - Gesture inventory UUID - Callback whick will be called when upload is complete + A string reprentation of both my rights and my friends rights - + - Update an existing script in an agents Inventory + System ID of the avatar - 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 + full name of the avatar - 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 + True if the avatar is online - 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 + True if the friend can see if I am online - 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 + True if the friend can see me on the map - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - User defined queryID to correlate replies - If set to true, the CreateSelected flag - will be set on the rezzed object - + - DeRez an object from the simulator to the agents Objects folder in the agents Inventory + True if the freind can modify my objects - 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 + True if I can see if my friend is online - 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 + True if I can see if my friend is on the map - - - - - + - Give an inventory item to another avatar + True if I can modify my friend's objects - 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 + My friend's rights represented as bitmapped flags - 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 + My rights represented as bitmapped flags - 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 - + + + This class is used to add and remove avatars from your friends list and to manage their permission. + + + + The event subscribers. null if no subcribers + + + Raises the FriendOnline event + A FriendInfoEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendOffline event + A FriendInfoEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendRightsUpdate event + A FriendInfoEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendNames event + A FriendNamesEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendshipOffered event + A FriendshipOfferedEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendshipResponse event + A FriendshipResponseEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendshipTerminated event + A FriendshipTerminatedEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendFoundReply event + A FriendFoundReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + - Retrieve a listing of the items contained in a task (Primitive) + 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 - 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 + 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 - The LocalID of the object - - + - Request the contents of a tasks (primitives) inventory + Internal constructor - The simulator Local ID of the object - A reference to the simulator object that contains the object - + A reference to the GridClient Object - + - Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory + Accept a friendship request - 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 + agentID of avatatar to form friendship with + imSessionID of the friendship request message - + - Remove an item from an objects (Prim) Inventory + Decline a friendship request - 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 + of friend + imSessionID of the friendship request message - - - 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]); - - + + + Overload: Offer friendship to an avatar. + + System ID of the avatar you are offering friendship to - + - Request the running status of a script contained in a task (primitive) inventory + Offer friendship to an avatar. - The ID of the primitive containing the script - The ID of the script - The event can be used to obtain the results of the - request - + System ID of the avatar you are offering friendship to + A message to send with the request - + - Send a request to set the running state of a script contained in a task (primitive) inventory + Terminate a friendship with an avatar - The ID of the primitive containing the script - The ID of the script - true to set the script running, false to stop a running script - To verify the change you can use the method combined - with the event + 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 + + - Create a CRC from an InventoryItem + Change the rights of a friend avatar. - The source InventoryItem - A uint representing the source InventoryItem as a CRC + 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. - + - Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id + Use to map a friends location on the grid. - Obfuscated shadow_id value - Deobfuscated asset_id value + Friends UUID to find + - + - Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id + Use to track a friends movement on the grid - asset_id value to obfuscate - Obfuscated shadow_id value + Friends Key - + - Wrapper for creating a new object + Ask for a notification of friend's online status - The type of item from the enum - The of the newly created object - An object with the type and id passed + Friend's UUID - + - Parse the results of a RequestTaskInventory() response + This handles the asynchronous response of a RequestAvatarNames call. - A string which contains the data from the task reply - A List containing the items contained within the tasks inventory + + 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 + + - 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 + Populate FriendList with data from the login reply + + true if login was successful + true if login request is requiring a redirect + A string containing the response to the login request + A string containing the reason for the request + A object containing the decoded + reply from the login server + + + Raised when the simulator sends notification one of the members in our friends list comes online + + + Raised when the simulator sends notification one of the members in our friends list goes offline + + + Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions + + + Raised when the simulator sends us the names on our friends list + + + Raised when the simulator sends notification another agent is offering us friendship + + + Raised when a request we sent to friend another agent is accepted or declined + + + Raised when the simulator sends notification one of the members in our friends list has terminated + our friendship + + + Raised when the simulator sends the location of a friend we have + requested map location info for + + + Contains information on a member of our friends list + + + + Construct a new instance of the FriendInfoEventArgs class + + The FriendInfo + + + Get the FriendInfo + + + Contains Friend Names + + + + Construct a new instance of the FriendNamesEventArgs class + + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name + + + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name + + + Sent when another agent requests a friendship with our agent + + + + Construct a new instance of the FriendshipOfferedEventArgs class + + The ID of the agent requesting friendship + The name of the agent requesting friendship + The ID of the session, used in accepting or declining the + friendship offer + + + Get the ID of the agent requesting friendship + + + Get the name of the agent requesting friendship + + + Get the ID of the session, used in accepting or declining the + friendship offer + + + A response containing the results of our request to form a friendship with another agent + + + + Construct a new instance of the FriendShipResponseEventArgs class - The sender - The EventArgs object containing the packet 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 - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Get the ID of the agent we requested a friendship with - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Get the name of the agent we requested a friendship with - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + true if the agent accepted our friendship offer - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Contains data sent when a friend terminates a friendship with us - - Raised when the simulator sends us data containing - ... + + + 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 - - Raised when the simulator sends us data containing - ... + + Get the ID of the agent that terminated the friendship with us - - Raised when the simulator sends us data containing - an inventory object sent by another avatar or primitive + + Get the name of the agent that terminated the friendship with us - - Raised when the simulator sends us data containing - ... + + + Data sent in response to a request which contains the information to allow us to map the friends location + - - Raised when the simulator sends us data containing - ... + + + 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 - - Raised when the simulator sends us data containing - ... + + Get the ID of the agent we have received location information for - - Raised when the simulator sends us data containing - ... + + Get the region handle where our mapped friend is located - - Raised when the simulator sends us data containing - ... + + Get the simulator local position where our friend is located - + - Get this agents Inventory data + Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. - + - Callback for inventory item creation finishing + Rotation Keyframe count (used internally) - 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 + Position Keyframe count (used internally) - true if inventory item creation was successful - - - - + - + Animation Priority - - + - Reply received when uploading an inventory asset + The animation length in seconds. - Has upload been successful - Error message if upload failed - Inventory asset UUID - New asset UUID - + - Delegate that is invoked when script upload is completed + Expression set in the client. Null if [None] is selected - 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 + + + The time in seconds to start the animation + - + - Callback when an inventory object is accepted and received from a - task inventory. This is the callback in which you actually get - the ItemID, as in ObjectOfferedCallback it is null when received - from a task. + The time in seconds to end the animation - + - Registers, unregisters, and fires events generated by incoming packets + Loop the animation - - Reference to the GridClient object + + + Meta data. Ease in Seconds. + - + - Default constructor + Meta data. Ease out seconds. - - + - Register an event handler + Meta Data for the Hand Pose - 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 + Number of joints defined in the animation - Packet type to unregister the handler for - Callback to be unregistered - + - Fire the events registered for this packet type + Contains an array of joints - 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 + Searialize an animation asset into it's joints/keyframes/meta data + - - Callback to fire for this packet + + + 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 - - Reference to the simulator that this packet came from + + + 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 - - The packet that needs to be processed + + + 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 + - + - Registers, unregisters, and fires events generated by the Capabilities - event queue + A Joint and it's associated meta data and keyframes - - Reference to the GridClient object + + + Name of the Joint. Matches the avatar_skeleton.xml in client distros + - + - Default constructor + Joint Animation Override? Was the same as the Priority in testing.. - Reference to the GridClient object - + - Register an new event handler for a capabilities event sent via the EventQueue + Array of Rotation Keyframes in order from earliest to latest - 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 + Array of Position Keyframes in order from earliest to latest + This seems to only be for the Pelvis? - Capability event name unregister the - handler for - Callback to unregister - + - Fire the events registered for this event type synchronously + A Joint Keyframe. This is either a position or a rotation. - Capability name - Decoded event body - Reference to the simulator that - generated this event - + - Fire the events registered for this event type asynchronously + Either a Vector3 position or a Vector3 Euler rotation - 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 + Poses set in the animation metadata for the hands. - - 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 + The type of bump-mapping applied to a face - - URI of the item to fetch + + - - Timout specified in milliseconds + + - - Download progress callback + + - - Download completed callback + + - - Accept the following content type + + - - Default constructor + + - - Constructor + + - - - Manages async HTTP downloads with a limit on maximum - concurrent downloads - + + - - Default constructor + + - - Cleanup method + + - - Setup http download request + + - - Check the queue for pending work + + - - Enqueue a new HTPP download + + - - Maximum number of parallel downloads from a single endpoint + + - - Client certificate + + - - - Avatar profile flags - + + - - - Represents an avatar (other than your own) - + + - - Groups that this avatar is a member of + + - - Positive and negative ratings + + + The level of shininess applied to a face + - - Avatar properties including about text, profile URL, image IDs and - publishing settings + + - - Avatar interests including spoken languages, skills, and "want to" - choices + + - - Movement control flags for avatars. Typically not set or used by - clients. To move your avatar, use Client.Self.Movement instead + + - - - Contains the visual parameters describing the deformation of the avatar - + + - + - Default constructor + The texture mapping style used for a face - - First name + + - - Last name + + - - Full name + + - - Active group + + - + - Positive and negative ratings + Flags in the TextureEntry block that describe which properties are + set - - Positive ratings for Behavior - - - Negative ratings for Behavior - - - Positive ratings for Appearance - - - Negative ratings for Appearance + + - - Positive ratings for Building + + - - Negative ratings for Building + + - - Positive ratings given by this avatar + + - - Negative ratings given by this avatar + + - - - Avatar properties including about text, profile URL, image IDs and - publishing settings - + + - - First Life about text + + - - First Life image ID + + - + - + - + - + - - Profile image ID + + + Represents an AssetScriptBinary object containing the + LSO compiled bytecode of an LSL script + - - Flags of the profile + + Initializes a new instance of an AssetScriptBinary object - - Web URL for this profile + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - Should this profile be published on the web + + + TODO: Encodes a scripts contents into a LSO Bytecode file + + + + + TODO: Decode LSO Bytecode into a string + + true + + + Override the base classes AssetType + + + + Temporary code to produce a tar archive in tar v7 format + + + + + Binary writer for the underlying stream + - - Avatar Online Status + + + Write a directory entry to the tar archive. We can only handle one path level right now! + + - - Is this a mature profile + + + 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. + - + - Avatar interests including spoken languages, skills, and "want to" - choices + Write a particular entry + + + - - Languages profile field + + + + - + - + - + - - + + + Thrown when a packet could not be successfully deserialized + - + - Return a decoded capabilities message as a strongly typed object + Default constructor - 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 - + - + Constructor that takes an additional error message + An error message to attach to this exception - + - Initialize the UDP packet handler in server mode + 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 - Port to listening for incoming UDP packets on - + - Initialize the UDP packet handler in client mode + Convert the AckList to a byte array, used for packet serializing - Remote UDP server to connect to + 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 - + - A Name Value pair with additional settings, used in the protocol - primarily to transmit avatar names and active group in object packets + 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 - - + + - - + + - - - Constructor that takes all the fields as parameters - - - - - - + + - - - Constructor that takes a single line from a NameValue field - - + + - - Type of the value + + - - Unknown + + - - String value + + - - + + - - + + - - + + - - + + - - Deprecated + + - - String value, but designated as an asset + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + - - + + - - + + - - + + - - + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - - Static helper functions and global variables - + + - - This header flag signals that ACKs are appended to the packet + + - - This header flag signals that this packet has been sent before + + - - This header flags signals that an ACK is expected for this packet + + - - This header flag signals that the message is compressed using zerocoding + + - - - - - - + + - - - - - - - + + - - - - - - + + - - - - - - - + + - - - Given an X/Y location in absolute (grid-relative) terms, a region - handle is returned along with the local X/Y location in that region - - The absolute X location, a number such as - 255360.35 - The absolute Y location, a number such as - 255360.35 - The sim-local X position of the global X - position, a value from 0.0 to 256.0 - The sim-local Y position of the global Y - position, a value from 0.0 to 256.0 - A 64-bit region handle that can be used to teleport to + + - - - Converts a floating point number to a terse string format used for - transmitting numbers in wearable asset files - - Floating point number to convert to a string - A terse string representation of the input number + + - - - Convert a variable length field (byte array) to a string, with a - field name prepended to each line of the output - - If the byte array has unprintable characters in it, a - hex dump will be written instead - The StringBuilder object to write to - The byte array to convert to a string - A field name to prepend to each line of output + + - - - Decode a zerocoded byte array, used to decompress packets marked - with the zerocoded flag - - Any time a zero is encountered, the next byte is a count - of how many zeroes to expand. One zero is encoded with 0x00 0x01, - two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The - first four bytes are copied directly to the output buffer. - - The byte array to decode - The length of the byte array to decode. This - would be the length of the packet up to (but not including) any - appended ACKs - The output byte array to decode to - The length of the output buffer + + - - - Encode a byte array with zerocoding. Used to compress packets marked - with the zerocoded flag. Any zeroes in the array are compressed down - to a single zero byte followed by a count of how many zeroes to expand - out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, - three zeroes becomes 0x00 0x03, etc. The first four bytes are copied - directly to the output buffer. - - The byte array to encode - The length of the byte array to encode - The output byte array to encode to - The length of the output buffer + + - - - Calculates the CRC (cyclic redundancy check) needed to upload inventory. - - Creation date - Sale type - Inventory type - Type - Asset ID - Group ID - Sale price - Owner ID - Creator ID - Item ID - Folder ID - Everyone mask (permissions) - Flags - Next owner mask (permissions) - Group mask (permissions) - Owner mask (permissions) - The calculated CRC + + - - - Attempts to load a file embedded in the assembly - - The filename of the resource to load - A Stream for the requested file, or null if the resource - was not successfully loaded + + - - - Attempts to load a file either embedded in the assembly or found in - a given search path - - The filename of the resource to load - An optional path that will be searched if - the asset is not found embedded in the assembly - A Stream for the requested file, or null if the resource - was not successfully loaded + + - - - Converts a list of primitives to an object that can be serialized - with the LLSD system - - Primitives to convert to a serializable object - An object that can be serialized with LLSD + + - - - Deserializes OSD in to a list of primitives - - Structure holding the serialized primitive list, - must be of the SDMap type - A list of deserialized primitives + + - - - Converts a struct or class object containing fields only into a key value separated string - - The struct object - A string containing the struct fields as the keys, and the field value as the value separated - - - // Add the following code to any struct or class containing only fields to override the ToString() - // method to display the values of the passed object - - /// Print the struct data as a string - ///A string containing the field name, and field value - public override string ToString() - { - return Helpers.StructToString(this); - } - - + + - - - Passed to Logger.Log() to identify the severity of a log entry - + + - - No logging information will be output + + - - Non-noisy useful information, may be helpful in - debugging a problem + + - - A non-critical error occurred. A warning will not - prevent the rest of the library from operating as usual, - although it may be indicative of an underlying issue + + - - A critical error has occurred. Generally this will - be followed by the network layer shutting down, although the - stability of the library after an error is uncertain + + - - Used for internal testing, this logging level can - generate very noisy (long and/or repetitive) messages. Don't - pass this to the Log() function, use DebugLog() instead. - + + - - - Capabilities is the name of the bi-directional HTTP REST protocol - used to communicate non real-time transactions such as teleporting or - group messaging - + + - - Reference to the simulator this system is connected to + + - - - Default constructor - - - + + - - - Request the URI of a named capability - - Name of the capability to request - The URI of the requested capability, or String.Empty if - the capability does not exist + + - - - Process any incoming events, check to see if we have a message created for the event, - - - + + - - Capabilities URI this system was initialized with + + - - Whether the capabilities event queue is connected and - listening for incoming events + + - - - Triggered when an event is received via the EventQueueGet - capability - - Event name - Decoded event data - The simulator that generated the event + + - - - Permission request flags, asked when a script wants to control an Avatar - + + - - Placeholder for empty values, shouldn't ever see this + + - - Script wants ability to take money from you + + - - Script wants to take camera controls for you + + - - Script wants to remap avatars controls + + - - Script wants to trigger avatar animations - This function is not implemented on the grid + + - - Script wants to attach or detach the prim or primset to your avatar + + - - Script wants permission to release ownership - This function is not implemented on the grid - The concept of "public" objects does not exist anymore. + + - - Script wants ability to link/delink with other prims + + - - Script wants permission to change joints - This function is not implemented on the grid + + - - Script wants permissions to change permissions - This function is not implemented on the grid + + - - Script wants to track avatars camera position and rotation + + - - Script wants to control your camera + + - - - Special commands used in Instant Messages - + + - - Indicates a regular IM from another agent + + - - Simple notification box with an OK button + + - - You've been invited to join a group. + + - - Inventory offer + + - - Accepted inventory offer + + - - Declined inventory offer + + - - Group vote + + - - An object is offering its inventory + + - - Accept an inventory offer from an object + + - - Decline an inventory offer from an object + + - - Unknown + + - - Start a session, or add users to a session + + - - Start a session, but don't prune offline users + + - - Start a session with your group + + - - Start a session without a calling card (finder or objects) + + - - Send a message to a session + + - - Leave a session + + - - Indicates that the IM is from an object + + - - Sent an IM to a busy user, this is the auto response + + - - Shows the message in the console and chat history + + - - Send a teleport lure + + - - Response sent to the agent which inititiated a teleport invitation + + - - Response sent to the agent which inititiated a teleport invitation + + - - Only useful if you have Linden permissions + + + + + + + + - - A placeholder type for future expansion, currently not - used + + - - IM to tell the user to go to an URL + + - - IM for help + + - - IM sent automatically on call for help, sends a lure - to each Helper reached + + - - Like an IM but won't go to email + + - - IM from a group officer to all group members + + - - Unknown + + - - Unknown + + - - Accept a group invitation + + - - Decline a group invitation + + - - Unknown + + - - An avatar is offering you friendship + + - - An avatar has accepted your friendship offer + + - - An avatar has declined your friendship offer + + - - Indicates that a user has started typing + + - - Indicates that a user has stopped typing + + - - - Flag in Instant Messages, whether the IM should be delivered to - offline avatars as well - + + - - Only deliver to online avatars + + - - If the avatar is offline the message will be held until - they login next, and possibly forwarded to their e-mail account + + - - - Conversion type to denote Chat Packet types in an easier-to-understand format - + + - - Whisper (5m radius) + + - - Normal chat (10/20m radius), what the official viewer typically sends + + - - Shouting! (100m radius) + + - - Event message when an Avatar has begun to type + + - - Event message when an Avatar has stopped typing + + - - Send the message to the debug channel + + - - Event message when an object uses llOwnerSay + + - - Special value to support llRegionSay, never sent to the client + + - - - Identifies the source of a chat message - + + - - Chat from the grid or simulator + + - - Chat from another avatar + + - - Chat from an object + + - - - - + + - - + + - - + + - - + + - - - Effect type used in ViewerEffect packets - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - Project a beam from a source to a destination, such as - the one used when editing an object + + - - + + - - + + - - + + - - Create a swirl of particles around an object + + - - + + - - + + - - Cause an avatar to look at an object + + - - Cause an avatar to point at an object + + - - - The action an avatar is doing when looking at something, used in - ViewerEffect packets for the LookAt effect - + + - - + + - - + + - - + + - - + + - - + + - - + + - - Deprecated + + - - + + - - + + - - + + - - + + - - - The action an avatar is doing when pointing at something, used in - ViewerEffect packets for the PointAt effect - + + - - + + - - + + - - + + - - + + - - - Money transaction types - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - Flags sent when a script takes or releases a control - - NOTE: (need to verify) These might be a subset of the ControlFlags enum in Movement, + + - - No Flags set + + - - Forward (W or up Arrow) + + - - Back (S or down arrow) + + - - Move left (shift+A or left arrow) + + - - Move right (shift+D or right arrow) + + - - Up (E or PgUp) + + - - Down (C or PgDown) + + - - Rotate left (A or left arrow) + + - - Rotate right (D or right arrow) + + - - Left Mouse Button + + - - Left Mouse button in MouseLook + + - - - Currently only used to hide your group title - + + - - No flags set + + - - Hide your group title + + - - - Action state of the avatar, which can currently be typing and - editing - + + - - + + - - + + - - + + - - - Current teleport status - + + - - Unknown status + + - - Teleport initialized + + - - Teleport in progress + + - - Teleport failed + + - - Teleport completed + + - - Teleport cancelled + + - - - - + + - - No flags set, or teleport failed + + - - Set when newbie leaves help island for first time + + - - + + - - Via Lure + + - - Via Landmark + + - - Via Location + + - - Via Home + + - - Via Telehub + + - - Via Login + + - - Linden Summoned + + - - Linden Forced me + + - - + + - - Agent Teleported Home via Script + + - - + + - - + + - - + + - - forced to new location for example when avatar is banned or ejected + + - - Teleport Finished via a Lure + + - - Finished, Sim Changed + + - - Finished, Same Sim + + - - - - + + - - + + - - + + - - + + - - - - + + - - + + - - + + - - + + - - + + - - - Instant Message - + + - - Key of sender + + - - Name of sender + + - - Key of destination avatar + + - - ID of originating estate + + - - Key of originating region + + - - Coordinates in originating region + + - - Instant message type + + - - Group IM session toggle + + - - Key of IM session, for Group Messages, the groups UUID + + - - Timestamp of the instant message + + - - Instant message text + + - - Whether this message is held for offline avatars + + - - Context specific packed data + + - - Print the struct data as a string - A string containing the field name, and field value + + - - - - + + - - - Construct a new instance of the ChatEventArgs object - - Sim from which the message originates - The message sent - The audible level of the message - The type of message sent: whisper, shout, etc - The source type of the message sender - The name of the agent or object sending the message - The ID of the agent or object sending the message - The ID of the object owner, or the agent ID sending the message - The position of the agent or object sending the message + + - - Get the simulator sending the message + + - - Get the message sent + + - - Get the audible level of the message + + - - Get the type of message sent: whisper, shout, etc + + - - Get the source type of the message sender + + - - Get the name of the agent or object sending the message + + - - Get the ID of the agent or object sending the message + + - - Get the ID of the object owner, or the agent ID sending the message + + - - Get the position of the agent or object sending the message + + - - Contains the data sent when a primitive opens a dialog with this agent + + - - - Construct a new instance of the ScriptDialogEventArgs - - The dialog message - The name of the object that sent the dialog request - The ID of the image to be displayed - The ID of the primitive sending the dialog - The first name of the senders owner - The last name of the senders owner - The communication channel the dialog was sent on - The string labels containing the options presented in this dialog + + - - Get the dialog message + + - - Get the name of the object that sent the dialog request + + - - Get the ID of the image to be displayed + + - - Get the ID of the primitive sending the dialog + + - - Get the first name of the senders owner + + - - Get the last name of the senders owner + + - - Get the communication channel the dialog was sent on, responses - should also send responses on this same channel + + - - Get the string labels containing the options presented in this dialog + + - - Contains the data sent when a primitive requests debit or other permissions - requesting a YES or NO answer + + - - - Construct a new instance of the ScriptQuestionEventArgs - - The simulator containing the object sending the request - The ID of the script making the request - The ID of the primitive containing the script making the request - The name of the primitive making the request - The name of the owner of the object making the request - The permissions being requested + + - - Get the simulator containing the object sending the request + + - - Get the ID of the script making the request + + - - Get the ID of the primitive containing the script making the request + + - - Get the name of the primitive making the request + + - - Get the name of the owner of the object making the request + + - - Get the permissions being requested + + - - Contains the data sent when a primitive sends a request - to an agent to open the specified URL + + - - - Construct a new instance of the LoadUrlEventArgs - - The name of the object sending the request - The ID of the object sending the request - The ID of the owner of the object sending the request - True if the object is owned by a group - The message sent with the request - The URL the object sent + + - - Get the name of the object sending the request + + - - Get the ID of the object sending the request + + - - Get the ID of the owner of the object sending the request + + - - True if the object is owned by a group + + - - Get the message sent with the request + + - - Get the URL the object sent + + - - The date received from an ImprovedInstantMessage + + - - - Construct a new instance of the InstantMessageEventArgs object - - 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 + + - - - Archives assets - + + - - - Archive assets - + + - - - Archive the assets given to this archiver to the given archive. - - + + - - - Write an assets metadata file to the given archive - - + + - - - Write asset data files to the given archive - - + + - - - Avatar group management - + + - - Key of Group Member + + - - Total land contribution + + - - Online status information + + - - Abilities that the Group Member has + + - - Current group title + + - - Is a group owner + + - - - Role manager for a group - + + - - Key of the group + + - - Key of Role + + - - Name of Role + + - - Group Title associated with Role + + - - Description of Role + + - - Abilities Associated with Role + + - - Returns the role's title - The role's title + + - - - Class to represent Group Title - + + - - Key of the group + + - - ID of the role title belongs to + + - - Group Title + + - - Whether title is Active + + - - Returns group title + + - - - Represents a group on the grid - + + - - Key of Group + + - - Key of Group Insignia + + - - Key of Group Founder + + - - Key of Group Role for Owners + + - - Name of Group + + - - Text of Group Charter + + - - Title of "everyone" role + + - - Is the group open for enrolement to everyone + + - - Will group show up in search + + - - + + - - + + - - + + - - Is the group Mature + + - - Cost of group membership + + - - + + - - + + - - The total number of current members this group has + + - - The number of roles this group has configured + + - - Show this group in agent's profile + + - - Returns the name of the group - A string containing the name of the group + + - - - A group Vote - + + - - Key of Avatar who created Vote + + - - Text of the Vote proposal + + - - Total number of votes + + - - - A group proposal - + + - - The Text of the proposal + + - - The minimum number of members that must vote before proposal passes or failes + + - - The required ration of yes/no votes required for vote to pass - The three options are Simple Majority, 2/3 Majority, and Unanimous - TODO: this should be an enum + + - - The duration in days votes are accepted + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - Struct representing a group notice - + + - - + + - - + + - - + + - - + + - - - - - + + - - - Struct representing a group notice list entry - + + - - Notice ID + + - - Creation timestamp of notice + + - - Agent name who created notice + + - - Notice subject + + - - Is there an attachment? + + - - Attachment Type + + - - - Struct representing a member of a group chat session and their settings - + + - - The of the Avatar + + - - True if user has voice chat enabled + + - - True of Avatar has moderator abilities + + - - True if a moderator has muted this avatars chat + + - - True if a moderator has muted this avatars voice + + - - - Role update flags - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - Can send invitations to groups default role + + - - Can eject members from group + + - - Can toggle 'Open Enrollment' and change 'Signup fee' + + - - Member is visible in the public member list + + - - Can create new roles + + - - Can delete existing roles + + - - Can change Role names, titles and descriptions + + - - Can assign other members to assigners role + + - - Can assign other members to any role + + - - Can remove members from roles + + - - Can assign and remove abilities in roles + + - - Can change group Charter, Insignia, 'Publish on the web' and which - members are publicly visible in group member listings + + - - Can buy land or deed land to group + + - - Can abandon group owned land to Governor Linden on mainland, or Estate owner for - private estates + + - - Can set land for-sale information on group owned parcels + + - - Can subdivide and join parcels + + - - Can join group chat sessions + + - - Can use voice chat in Group Chat sessions + + - - Can moderate group chat sessions + + - - Can toggle "Show in Find Places" and set search category + + - - Can change parcel name, description, and 'Publish on web' settings + + - - Can set the landing point and teleport routing on group land + + - - Can change music and media settings + + - - Can toggle 'Edit Terrain' option in Land settings + + - - Can toggle various About Land > Options settings + + - - Can always terraform land, even if parcel settings have it turned off + + - - Can always fly while over group owned land + + - - Can always rez objects on group owned land + + - - Can always create landmarks for group owned parcels + + - - Can set home location on any group owned parcel + + - - Can modify public access settings for group owned parcels + + - - Can manager parcel ban lists on group owned land + + - - Can manage pass list sales information + + - - Can eject and freeze other avatars on group owned land + + - - Can return objects set to group + + - - Can return non-group owned/set objects + + - - Can return group owned objects + + - - Can landscape using Linden plants + + - - Can deed objects to group + + - - Can move group owned objects + + - - Can set group owned objects for-sale + + - - Pay group liabilities and receive group dividends + + - - Can send group notices + + - - Can receive group notices + + - - Can create group proposals + + - - Can vote on group proposals + + - - - Handles all network traffic related to reading and writing group - information - + + - - The event subscribers. null if no subcribers + + - - Raises the CurrentGroups event - A CurrentGroupsEventArgs object containing the - data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupNamesReply event - A GroupNamesEventArgs object containing the - data response from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupProfile event - An GroupProfileEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupMembers event - A GroupMembersEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupRolesDataReply event - A GroupRolesDataReplyEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupRoleMembersReply event - A GroupRolesRoleMembersReplyEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupTitlesReply event - A GroupTitlesReplyEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupAccountSummary event - A GroupAccountSummaryReplyEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupCreated event - An GroupCreatedEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupJoined event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupLeft event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupDropped event - An GroupDroppedEventArgs object containing the - the group your agent left + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupMemberEjected event - An GroupMemberEjectedEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupNoticesListReply event - An GroupNoticesListReplyEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupInvitation event - An GroupInvitationEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - A reference to the current instance + + - - Currently-active group members requests + + - - Currently-active group roles requests + + - - Currently-active group role-member requests + + - - Dictionary keeping group members while request is in progress + + - - Dictionary keeping mebmer/role mapping while request is in progress + + - - Dictionary keeping GroupRole information while request is in progress + + - - Caches group name lookups + + - - - Construct a new instance of the GroupManager class - - A reference to the current instance + + - - - Request a current list of groups the avatar is a member of. - - CAPS Event Queue must be running for this to work since the results - come across CAPS. + + - - - Lookup name of group based on groupID - - groupID of group to lookup name for. + + - - - Request lookup of multiple group names - - List of group IDs to request. + + - - Lookup group profile data such as name, enrollment, founder, logo, etc - Subscribe to OnGroupProfile event to receive the results. - group ID (UUID) + + - - Request a list of group members. - Subscribe to OnGroupMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + - - Request group roles - Subscribe to OnGroupRoles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + - - Request members (members,role) role mapping for a group. - Subscribe to OnGroupRolesMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + - - Request a groups Titles - Subscribe to OnGroupTitles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + - - Begin to get the group account summary - Subscribe to the OnGroupAccountSummary event to receive the results. - group ID (UUID) - How long of an interval - Which interval (0 for current, 1 for last) + + - - Invites a user to a group - The group to invite to - A list of roles to invite a person to - Key of person to invite + + - - Set a group as the current active group - group ID (UUID) + + - - Change the role that determines your active title - Group ID to use - Role ID to change to + + - - Set this avatar's tier contribution - Group ID to change tier in - amount of tier to donate + + - - - Save wheather agent wants to accept group notices and list this group in their profile - - Group - Accept notices from this group - List this group in the profile + + - - Request to join a group - Subscribe to OnGroupJoined event for confirmation. - group ID (UUID) to join. + + - - - Request to create a new group. If the group is successfully - created, L$100 will automatically be deducted - - Subscribe to OnGroupCreated event to receive confirmation. - Group struct containing the new group info + + - - Update a group's profile and other information - Groups ID (UUID) to update. - Group struct to update. + + - - Eject a user from a group - Group ID to eject the user from - Avatar's key to eject + + - - Update role information - Modified role to be updated + + - - Create a new group role - Group ID to update - Role to create + + - - Delete a group role - Group ID to update - Role to delete + + - - Remove an avatar from a role - Group ID to update - Role ID to be removed from - Avatar's Key to remove + + - - Assign an avatar to a role - Group ID to update - Role ID to assign to - Avatar's ID to assign to role + + - - Request the group notices list - Group ID to fetch notices for + + - - Request a group notice by key - ID of group notice + + - - Send out a group notice - Group ID to update - GroupNotice structure containing notice data + + - - Start a group proposal (vote) - The Group ID to send proposal to - GroupProposal structure containing the proposal + + + + + - - Request to leave a group - Subscribe to OnGroupLeft event to receive confirmation - The group to leave + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Raised when the simulator sends us data containing - our current group membership + + - - Raised when the simulator responds to a RequestGroupName - or RequestGroupNames request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when a response to a RequestGroupAccountSummary is returned - by the simulator + + - - Raised when a request to create a group is successful + + - - Raised when a request to join a group either - fails or succeeds + + - - Raised when a request to leave a group either - fails or succeeds + + - - Raised when A group is removed from the group server + + - - Raised when a request to eject a member from a group either - fails or succeeds + + - - Raised when the simulator sends us group notices - + + - - Raised when another agent invites our avatar to join a group + + - - Contains the current groups your agent is a member of + + - - Construct a new instance of the CurrentGroupsEventArgs class - The current groups your agent is a member of + + - - Get the current groups your agent is a member of + + - - A Dictionary of group names, where the Key is the groups ID and the value is the groups name + + - - Construct a new instance of the GroupNamesEventArgs class - The Group names dictionary + + - - Get the Group Names dictionary + + - - Represents the members of a group + + - - - Construct a new instance of the GroupMembersReplyEventArgs class - - The ID of the request - The ID of the group - The membership list of the group + + - - Get the ID as returned by the request to correlate - this result set and the request + + - - Get the ID of the group + + - - Get the dictionary of members + + - - Represents the roles associated with a group + + - - Construct a new instance of the GroupRolesDataReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The dictionary containing the roles + + - - Get the ID as returned by the request to correlate - this result set and the request + + - - Get the ID of the group + + - - Get the dictionary containing the roles + + - - Represents the Role to Member mappings for a group + + - - Construct a new instance of the GroupRolesMembersReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The member to roles map + + + + + - - Get the ID as returned by the request to correlate - this result set and the request + + - - Get the ID of the group + + - - Get the member to roles map + + - - Represents the titles for a group + + - - Construct a new instance of the GroupTitlesReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The titles + + - - Get the ID as returned by the request to correlate - this result set and the request + + - - Get the ID of the group + + - - Get the titles + + - - Represents the summary data for a group + + - - Construct a new instance of the GroupAccountSummaryReplyEventArgs class - The ID of the group - The summary data + + - - Get the ID of the group + + - - Get the summary data + + - - A response to a group create request + + - - Construct a new instance of the GroupCreatedReplyEventArgs class - The ID of the group - the success or faulure of the request - A string containing additional information + + - - Get the ID of the group + + - - true of the group was created successfully + + - - A string containing the message + + - - Represents a response to a request + + - - Construct a new instance of the GroupOperationEventArgs class - The ID of the group - true of the request was successful + + - - Get the ID of the group + + - - true of the request was successful + + - - Represents your agent leaving a group + + - - Construct a new instance of the GroupDroppedEventArgs class - The ID of the group + + - - Get the ID of the group + + - - Represents a list of active group notices + + - - Construct a new instance of the GroupNoticesListReplyEventArgs class - The ID of the group - The list containing active notices + + - - Get the ID of the group + + - - Get the notices list + + - - Represents the profile of a group + + - - Construct a new instance of the GroupProfileEventArgs class - The group profile + + - - Get the group profile + + - - - Provides notification of a group invitation request sent by another Avatar - - The invitation is raised when another avatar makes an offer for our avatar - to join a group. + + - - The ID of the Avatar sending the group invitation + + - - The name of the Avatar sending the group invitation + + - - A message containing the request information which includes - the name of the group, the groups charter and the fee to join details + + - - The Simulator + + - - Set to true to accept invitation, false to decline + + - - - A set of textures that are layered on texture of each other and "baked" - in to a single texture, for avatar appearances - + + - - Final baked texture + + - - Component layers + + - - Width of the final baked image and scratchpad + + - - Height of the final baked image and scratchpad + + - - Bake type + + - - - Default constructor - - Bake type + + - - - Adds layer for baking - - TexturaData struct that contains texture and its params + + - - - Converts avatar texture index (face) to Bake type - - Face number (AvatarTextureIndex) - BakeType, layer to which this texture belongs to + + - - - Make sure images exist, resize source if needed to match the destination - - Destination image - Source image - Sanitization was succefull + + - - - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color - - Color of the base of this layer + + - - - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color - - Red value - Green value - Blue value + + + + + + + + - - Final baked texture + + - - Component layers + + - - Width of the final baked image and scratchpad + + - - Height of the final baked image and scratchpad + + - - Bake type + + - - Is this one of the 3 skin bakes + + - - - Type of gesture step - + + - - - Base class for gesture steps - + + - - - Retururns what kind of gesture step this is - + + - - - Describes animation step of a gesture - + + - - - If true, this step represents start of animation, otherwise animation stop - + + - - - Animation asset - + + - - - Animation inventory name - + + - - - Returns what kind of gesture step this is - + + - - - Describes sound step of a gesture - + + - - - Sound asset - + + - - - Sound inventory name - + + - - - Returns what kind of gesture step this is - + + - - - Describes sound step of a gesture - + + - - - Text to output in chat - + + - - - Returns what kind of gesture step this is - + + - - - Describes sound step of a gesture - + + - - - If true in this step we wait for all animations to finish - + + - - - If true gesture player should wait for the specified amount of time - + + - - - Time in seconds to wait if WaitForAnimation is false - + + - - - Returns what kind of gesture step this is - + + - - - Describes the final step of a gesture - + + - - - Returns what kind of gesture step this is - + + - - - Represents a sequence of animations, sounds, and chat actions - + + - - - Keyboard key that triggers the gestyre - + + - - - Modifier to the trigger key - + + - - - String that triggers playing of the gesture sequence - + + - - - Text that replaces trigger in chat once gesture is triggered - + + - - - Sequence of gesture steps - + + - - - Constructs guesture asset - + + - - - Constructs guesture asset - - A unique specific to this asset - A byte array containing the raw asset data + + - - - Encodes gesture asset suitable for uplaod - + + - - - Decodes gesture assset into play sequence - - true if the asset data was decoded successfully + + - - - Returns asset type - + + - - - Represents an that represents an avatars body ie: Hair, Etc. - + + - - Initializes a new instance of an AssetBodyPart object + + - - Initializes a new instance of an AssetBodyPart object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + - - Override the base classes AssetType + + - - - pre-defined built in sounds - + + - - + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - coins + + - - cash register bell + + - - + + - - + + - - rubber + + - - plastic + + - - flesh + + - - wood splintering? + + - - glass break + + - - metal clunk + + - - whoosh + + - - shake + + - - + + - - ding + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - A dictionary containing all pre-defined sounds - - A dictionary containing the pre-defined sounds, - where the key is the sounds ID, and the value is a string - containing a name to identify the purpose of the sound + + - - - - + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - - 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 + + - - - - - - - - - + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - Login Request Parameters - + + - - The URL of the Login Server + + - - The number of milliseconds to wait before a login is considered - failed due to timeout + + - - The request method - login_to_simulator is currently the only supported method + + - - The Agents First name + + - - The Agents Last name + + - - A md5 hashed password - plaintext password will be automatically hashed + + - - The agents starting location once logged in - Either "last", "home", or a string encoded URI - containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 + + - - A string containing the client software channel information - Second Life Release + + - - The client software version information - The official viewer uses: Second Life Release n.n.n.n - where n is replaced with the current version of the viewer + + - - A string containing the platform information the agent is running on + + - - A string hash of the network cards Mac Address + + - - Unknown or deprecated + + - - A string hash of the first disk drives ID used to identify this clients uniqueness + + - - A string containing the viewers Software, this is not directly sent to the login server but - instead is used to generate the Version string + + - - A string representing the software creator. This is not directly sent to the login server but - is used by the library to generate the Version information + + - - If true, this agent agrees to the Terms of Service of the grid its connecting to + + - - Unknown + + - - An array of string sent to the login server to enable various options + + - - A randomly generated ID to distinguish between login attempts. This value is only used - internally in the library and is never sent over the wire + + - - - Default constuctor, initializes sane default values - + + - - - Instantiates new LoginParams object and fills in the values - - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number + + - - - Instantiates new LoginParams object and fills in the values - - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number - URI of the login server + + - - - The decoded data returned from the login server after a successful login - + + - - true, false, indeterminate + + - - Login message of the day + + - - M or PG, also agent_region_access and agent_access_max + + - - - Parse LLSD Login Reply Data - - An - contaning the login response data - XML-RPC logins do not require this as XML-RPC.NET - automatically populates the struct properly using attributes + + - - - Wrapper around a byte array that allows bit to be packed and unpacked - one at a time or by a variable amount. Useful for very tightly packed - data like LayerData packets - + + - - + + - - - Default constructor, initialize the bit packer / bit unpacker - with a byte array and starting position - - Byte array to pack bits in to or unpack from - Starting position in the byte array + + - - - Pack a floating point value in to the data - - Floating point value to pack + + - - - Pack part or all of an integer in to the data - - Integer containing the data to pack - Number of bits of the integer to pack + + - - - Pack part or all of an unsigned integer in to the data - - Unsigned integer containing the data to pack - Number of bits of the integer to pack + + - - - Pack a single bit in to the data - - Bit to pack + + - - - - - - - - + + - - - - - + + - - - - - + + - - - Unpacking a floating point value from the data - - Unpacked floating point value + + - - - Unpack a variable number of bits from the data in to integer format - - Number of bits to unpack - An integer containing the unpacked bits - This function is only useful up to 32 bits + + - - - Unpack a variable number of bits from the data in to unsigned - integer format - - Number of bits to unpack - An unsigned integer containing the unpacked bits - This function is only useful up to 32 bits + + - - - Unpack a 16-bit signed integer - - 16-bit signed integer + + - - - Unpack a 16-bit unsigned integer - - 16-bit unsigned integer + + - - - Unpack a 32-bit signed integer - - 32-bit signed integer + + - - - Unpack a 32-bit unsigned integer - - 32-bit unsigned integer + + - - + + - - + + - - - Index of TextureEntry slots for avatar appearances - + + - - - Bake layers for avatar appearance - + + - - 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 + + - - 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 + + - - A cache of wearables currently being worn + + - - A cache of textures currently being worn + + - - Incrementing serial number for AgentCachedTexture packets + + - - Incrementing serial number for AgentSetAppearance packets + + - - Indicates whether or not the appearance thread is currently - running, to prevent multiple appearance threads from running - simultaneously + + - - Reference to our agent + + - - - Timer used for delaying rebake on changing outfit - + + - - - Main appearance thread - + + - - - Default constructor - - A reference to our agent + + - - - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread - + + - - - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread - - Unused parameter + + - - - Starts the appearance setting thread - + + - - - Starts the appearance setting thread - - True to force rebaking, otherwise false + + - - - 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 + + - - - Checks if an inventory item is currently being worn - - The inventory item to check against the agent - wearables - The WearableType slot that the item is being worn in, - or WearbleType.Invalid if it is not currently being worn + + - - - Returns a copy of the agents currently worn wearables - - A copy of the agents currently worn wearables - Avoid calling this function multiple times as it will make - a copy of all of the wearable data each time + + - - - Calls either or - depending on the value of - replaceItems - - List of wearable inventory items to add - to the outfit or become a new outfit - True to replace existing items with the - new list of items, false to add these items to the existing outfit + + - - - Adds a list of attachments to our agent - - A List containing the attachments to add - If true, tells simulator to remove existing attachment - first + + - - - 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 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 + + - - - Detach an item from our agent using an object - - An object + + - - - Detach an item from our agent - - The inventory itemID of the item to detach + + - - - Inform the sim which wearables are part of our current outfit - + + - - - Replaces the Wearables collection with a list of new wearable items - - Wearable items to replace the Wearables collection with + + - - - Calculates base color/tint for a specific wearable - based on its params - - All the color info gathered from wearable's VisualParams - passed as list of ColorParamInfo tuples - Base color/tint for the wearable + + - - - Blocking method to populate the Wearables dictionary - - True on success, otherwise false + + - - - Blocking method to populate the Textures array with cached bakes - - True on success, otherwise false + + - - - Populates textures and visual params from a decoded asset - - Wearable to decode + + - - - Blocking method to download and parse currently worn wearable assets - - True on success, otherwise false + + - - - Get a list of all of the textures that need to be downloaded for a - single bake layer - - Bake layer to get texture AssetIDs for - A list of texture AssetIDs to download + + - - - Helper method to lookup the TextureID for a single layer and add it - to a list if it is not already present - - - + + - - - Blocking method to download all of the textures needed for baking - the given bake layers - - A list of layers that need baking - No return value is given because the baking will happen - whether or not all textures are successfully downloaded + + - - - Blocking method to create and upload baked textures for all of the - missing bakes - - True on success, otherwise false + + - - - Blocking method to create and upload a baked texture for a single - bake layer - - Layer to bake - True on success, otherwise false + + - - - Blocking method to upload a baked texture - - Five channel JPEG2000 texture data to upload - UUID of the newly created asset on success, otherwise UUID.Zero + + - - - Creates a dictionary of visual param values from the downloaded wearables - - A dictionary of visual param indices mapping to visual param - values for our agent that can be fed to the Baker class + + - - - Create an AgentSetAppearance packet from Wearables data and the - Textures array and send it - + + - - - Converts a WearableType to a bodypart or clothing WearableType - - A WearableType - AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown + + - - - Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex - - A BakeType - The AvatarTextureIndex slot that holds the given BakeType + + - - - Gives the layer number that is used for morph mask - - >A BakeType - Which layer number as defined in BakeTypeToTextures is used for morph mask + + - - - Converts a BakeType to a list of the texture slots that make up that bake - - A BakeType - A list of texture slots that are inputs for the given bake + + - - Triggered when an AgentWearablesUpdate packet is received, - telling us what our avatar is currently wearing - request. + + - - Raised when an AgentCachedTextureResponse packet is - received, giving a list of cached bakes that were found on the - simulator - request. + + - - - Raised when appearance data is sent to the simulator, also indicates - the main appearance thread is finished. - - request. + + - - - Triggered when the simulator requests the agent rebake its appearance. - - + + - - - Returns true if AppearanceManager is busy and trying to set or change appearance will fail - + + - - - Contains information about a wearable inventory item - + + - - Inventory ItemID of the wearable + + - - AssetID of the wearable asset + + - - WearableType of the wearable + + - - AssetType of the wearable + + - - Asset data for the wearable + + - - - Data collected from visual params for each wearable - needed for the calculation of the color - + + - - - Holds a texture assetID and the data needed to bake this layer into - an outfit texture. Used to keep track of currently worn textures - and baking data - + + - - A texture AssetID + + - - Asset data for the texture + + - - Collection of alpha masks that needs applying + + - - Tint that should be applied to the texture + + - - Where on avatar does this texture belong + + - - Contains the Event data returned from the data server from an AgentWearablesRequest + + - - 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 + Represents a single Voice Session to the Vivox service. + - - Indicates whether appearance setting was successful + + + Close this session. + - - Contains the Event data returned from the data server from an RebakeAvatarTextures + + + Look up an existing Participants in this session + + + - + - 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 - - + - Level of Detail mesh + An instance of DelegateWrapper which calls InvokeWrappedDelegate, + which in turn calls the DynamicInvoke method of the wrapped + delegate - + - Represents Mesh asset + Callback used to call EndInvoke on the asynchronously + invoked DelegateWrapper - - Initializes a new instance of an AssetMesh object + + + Executes the specified delegate with the specified arguments + asynchronously on a thread pool thread + + + - - Initializes a new instance of an AssetMesh object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + + Invokes the wrapped delegate synchronously + + + - + - TODO: Encodes a scripts contents into a LSO Bytecode file + Calls EndInvoke on the wrapper and Close on the resulting WaitHandle + to prevent resource leaks + - + - TODO: Decode LSO Bytecode into a string + Delegate to wrap another delegate and its arguments - true + + - - Override the base classes AssetType + + The event subscribers. null if no subcribers - + + Raises the LandPatchReceived event + A LandPatchReceivedEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + - The current status of a texture request as it moves through the pipeline or final result of a texture request. + Default constructor + - - The initial state given to a request. Requests in this state - are waiting for an available slot in the pipeline + + Raised when the simulator responds sends - - A request that has been added to the pipeline and the request packet - has been sent to the simulator + + Simulator from that sent tha data - - A request that has received one or more packets back from the simulator + + Sim coordinate of the patch - - A request that has received all packets back from the simulator + + Sim coordinate of the patch - - A request that has taken longer than - to download OR the initial packet containing the packet information was never received + + Size of tha patch - - The texture request was aborted by request of the agent + + Heightmap for the patch - - 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 + + Size of the byte array used to store raw packet data - - Holds the reference to the client object + + Raw packet data buffer - - Maximum concurrent texture requests allowed at a time + + Length of the data to transmit - - An array of objects used to manage worker request threads + + EndPoint of the remote host - - An array of worker slots which shows the availablity status of the slot + + + Create an allocated UDP packet buffer for receiving a packet + - - The primary thread which manages the requests. + + + Create an allocated UDP packet buffer for sending a packet + + EndPoint of the remote host - - true if the TexturePipeline is currently running + + + Create an allocated UDP packet buffer for sending a packet + + EndPoint of the remote host + Size of the buffer to allocate for packet data - - A synchronization object used by the primary thread + + + Object pool for packet buffers. This is used to allocate memory for all + incoming and outgoing packets, and zerocoding buffers for those packets + - - A refresh timer used to increase the priority of stalled requests + + + Initialize the object pool in client mode + + Server to connect to + + - + - Default constructor, Instantiates a new copy of the TexturePipeline class + Initialize the object pool in server mode - Reference to the instantiated object + + - + - Initialize callbacks required for the TexturePipeline to operate + 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 - + - Shutdown the TexturePipeline and cleanup any callbacks or transfers + Default constructor - + - 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 + Check a packet buffer out of the pool - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request + A packet buffer object - + - Sends the actual request packet to the simulator + Singleton logging class for the entire library + + + + log4net logging engine + + + + Default constructor - 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 + Send a log message to the logging engine - The texture assets unique ID + The log message + The severity of the log entry - + - Master Download Thread, Queues up downloads in the threadpool + Send a log message to the logging engine + The log message + The severity of the log entry + Instance of the client - + - The worker thread that sends the request and handles timeouts + Send a log message to the logging engine - A object containing the request details + The log message + The severity of the log entry + Exception that was raised - + - 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 + Send a log message to the logging engine - The sender - The EventArgs object containing the packet data + The log message + The severity of the log entry + Instance of the client + Exception that was raised - + - Handles the remaining Image data that did not fit in the initial ImageData packet + 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 sender - The EventArgs object containing the packet data + The message to log at the DEBUG level to the + current logging engine - + - Handle the initial ImageDataPacket sent from the simulator + 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 sender - The EventArgs object containing the packet data + The message to log at the DEBUG level to the + current logging engine + Instance of the client - - Current number of pending and in-process transfers + + Triggered whenever a message is logged. If this is left + null, log messages will go to the console - + - A request task containing information and status of a request as it is processed through the + Callback used for client apps to receive log messages from + the library + Data being logged + The severity of the log entry from - - 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. + + Sort by name - - The callback to fire when the request is complete, will include - the and the - object containing the result data + + Sort by date - - 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. + + Sort folders by name, regardless of whether items are + sorted by name or date - - An object that maintains the data of an request thats in-process. + + Place system folders at the top - + - Map layer request type + Possible destinations for DeRezObject request - - 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. - + + Copy from in-world to agent inventory - - Telehub + + Derez to TaskInventory - - PG rated event + + - - Mature rated event + + Take Object - - Popular location + + - - Locations of avatar groups in a region + + Delete Object - - Land for sale + + Put an avatar attachment into agent inventory - - Classified ad + + - - Adult rated event + + Return an object back to the owner's inventory - - Adult land for sale + + Return a deeded object back to the last owner's inventory - + - Information about a region on the grid map + Upper half of the Flags field for inventory items - - Sim X position on World Map - - - Sim Y position on World Map - - - Sim Name (NOTE: In lowercase!) - - - - - - Appears to always be zero (None) + + 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 - - Sim's defined Water Height + + Indicates that the object sale information has been + changed - - + + If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez - - UUID of the World Map image + + If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez - - Unique identifier for this region, a combination of the X - and Y position + + 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 - - - Visual chunk of the grid map - + + 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 Map Items + Base Class for Inventory Items - - The Global X position of the item - - - The Global Y position of the item - - - Get the Local X position of the item + + of item/folder - - Get the Local Y position of the item + + of parent folder - - Get the Handle of the region + + Name of item/folder - - - Represents an agent or group of agents location - + + Item/Folder Owners - + - Represents a Telehub location + Constructor, takes an itemID as a parameter + The of the item - + - Represents a non-adult parcel of land for sale + + - + - Represents an Adult parcel of land for sale + + - + - Represents a PG Event + 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 - + - Represents a Mature event + Determine whether the specified object is equal to the current object + InventoryBase object to compare against + true if objects are the same - + - Represents an Adult event + Determine whether the specified object is equal to the current object + InventoryBase object to compare against + true if objects are the same - + - Manages grid-wide tasks such as the world map + An Item in Inventory - - 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 + + The of this item - - Raises the GridRegion event - A GridRegionEventArgs object containing the - data sent by simulator + + The combined of this item - - Thread sync lock object + + The type of item from - - The event subscribers. null if no subcribers + + The type of item from the enum - - Raises the GridLayer event - A GridLayerEventArgs object containing the - data sent by simulator + + The of the creator of this item - - Thread sync lock object + + A Description of this item - - The event subscribers. null if no subcribers + + The s this item is set to or owned by - - Raises the GridItems event - A GridItemEventArgs object containing the - data sent by simulator + + If true, item is owned by a group - - Thread sync lock object + + The price this item can be purchased for - - The event subscribers. null if no subcribers + + The type of sale from the enum - - Raises the RegionHandleReply event - A RegionHandleReplyEventArgs object containing the - data sent by simulator + + Combined flags from - - Thread sync lock object + + Time and date this inventory item was created, stored as + UTC (Coordinated Universal Time) - - A dictionary of all the regions, indexed by region name + + Used to update the AssetID in requests sent to the server - - A dictionary of all the regions, indexed by region handle + + The of the previous owner of the item - + - Constructor + Construct a new InventoryItem object - Instance of GridClient object to associate with this GridManager instance + The of the item - + - + Construct a new InventoryItem object of a specific Type - + The type of item from + of the item - + - Request a map layer + Indicates inventory item is a link - The name of the region - The type of layer + 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 - + - Request data for all mainland (Linden managed) simulators + Compares an object + The object to compare + true if comparison object matches - + - Request the region handle for the specified region UUID + Determine whether the specified object is equal to the current object - UUID of the region to look up + The object to compare against + true if objects are the same - + - Get grid region information using the region name, this function - will block until it can find the region or gives up + Determine whether the specified object is equal to the current object - Name of sim you're looking for - Layer that you are requesting - Will contain a GridRegion for the sim you're - looking for if successful, otherwise an empty structure - True if the GridRegion was successfully fetched, otherwise - false - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised when the simulator sends a - containing the location of agents in the simulator - - - Raised when the simulator sends a Region Data in response to - a Map request - - - Raised when the simulator sends GridLayer object containing - a map tile coordinates and texture information - - - Raised when the simulator sends GridItems object containing - details on events, land sales at a specific location + The object to compare against + true if objects are the same - - Raised in response to a Region lookup + + + InventoryTexture Class representing a graphical image + + - - Unknown + + + Construct an InventoryTexture object + + A which becomes the + objects AssetUUID - - Current direction of the sun + + + Construct an InventoryTexture object from a serialization stream + - - Current angular velocity of the sun + + + InventorySound Class representing a playable sound + - - Current world time + + + Construct an InventorySound object + + A which becomes the + objects AssetUUID - + - Access to the data server which allows searching for land, events, people, etc + Construct an InventorySound object from a serialization stream - - 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 + + + InventoryCallingCard Class, contains information on another avatar + - - Raises the DirEventsReply event - An DirEventsReplyEventArgs object containing the - data returned from the data server + + + Construct an InventoryCallingCard object + + A which becomes the + objects AssetUUID - - Thread sync lock object + + + Construct an InventoryCallingCard object from a serialization stream + - - The event subscribers. null if no subcribers + + + InventoryLandmark Class, contains details on a specific location + - - Raises the PlacesReply event - A PlacesReplyEventArgs object containing the - data returned from the data server + + + Construct an InventoryLandmark object + + A which becomes the + objects AssetUUID - - Thread sync lock object + + + Construct an InventoryLandmark object from a serialization stream + - - The event subscribers. null if no subcribers + + + Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited + - - Raises the DirPlacesReply event - A DirPlacesReplyEventArgs object containing the - data returned from the data server + + + InventoryObject Class contains details on a primitive or coalesced set of primitives + - - Thread sync lock object + + + Construct an InventoryObject object + + A which becomes the + objects AssetUUID - - The event subscribers. null if no subcribers + + + Construct an InventoryObject object from a serialization stream + - - Raises the DirClassifiedsReply event - A DirClassifiedsReplyEventArgs object containing the - data returned from the data server + + + Gets or sets the upper byte of the Flags value + - - Thread sync lock object + + + Gets or sets the object attachment point, the lower byte of the Flags value + - - The event subscribers. null if no subcribers + + + InventoryNotecard Class, contains details on an encoded text document + - - Raises the DirGroupsReply event - A DirGroupsReplyEventArgs object containing the - data returned from the data server + + + Construct an InventoryNotecard object + + A which becomes the + objects AssetUUID - - Thread sync lock object + + + Construct an InventoryNotecard object from a serialization stream + - - The event subscribers. null if no subcribers + + + InventoryCategory Class + + TODO: Is this even used for anything? - - Raises the DirPeopleReply event - A DirPeopleReplyEventArgs object containing the - data returned from the data server + + + Construct an InventoryCategory object + + A which becomes the + objects AssetUUID - - Thread sync lock object + + + Construct an InventoryCategory object from a serialization stream + - - The event subscribers. null if no subcribers + + + InventoryLSL Class, represents a Linden Scripting Language object + - - Raises the DirLandReply event - A DirLandReplyEventArgs object containing the - data returned from the data server + + + Construct an InventoryLSL object + + A which becomes the + objects AssetUUID - - Thread sync lock object + + + Construct an InventoryLSL object from a serialization stream + - + - Constructs a new instance of the DirectoryManager class + InventorySnapshot Class, an image taken with the viewer - 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 + Construct an InventorySnapshot object - A string containing a list of keywords to search for - A UUID to correlate the results when the event is raised + A which becomes the + objects AssetUUID - + - 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 + Construct an InventorySnapshot object from a serialization stream - 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 + InventoryAttachment Class, contains details on an attachable object - 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 + Construct an InventoryAttachment object - 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 - + A which becomes the + objects AssetUUID - + - Starts a search for land sales using the directory - - The event is raised when a response is received from the simulator + Construct an InventoryAttachment object from a serialization stream - 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 + Get the last AttachmentPoint this object was attached to - 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 + InventoryWearable Class, details on a clothing item or body part - - 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 + Construct an InventoryWearable object - The name or portion of the name of the group you wish to search for - Start from the match number - + A which becomes the + objects AssetUUID - + - Search for Groups + Construct an InventoryWearable object from a serialization stream - 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 , Skin, Shape, Skirt, Etc - The name or portion of the name of the avatar you wish to search for - - - + - Search Places for parcels of land you personally own + InventoryAnimation Class, A bvh encoded object which animates an avatar - + - Searches Places for land owned by the specified group + Construct an InventoryAnimation object - 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. + A which becomes the + objects AssetUUID - + - Search the Places directory for parcels that are listed in search and contain the specified keywords + Construct an InventoryAnimation object from a serialization stream - A string containing the keywords to search for - Transaction (Query) ID which can be associated with results from your request. - + - Search Places - All Options + InventoryGesture Class, details on a series of animations, sounds, and actions - 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 + Construct an InventoryGesture object - 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. + A which becomes the + objects AssetUUID - + - Search Events + Construct an InventoryGesture object from a serialization stream - 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 + + + A folder contains s and has certain attributes specific + to itself + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The Preferred for a folder. - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The Version of this folder - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from + + Number of child items this folder contains. - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Constructor + + UUID of the folder - - 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 + + + Get Serilization data for this InventoryFolder object + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Construct an InventoryFolder object from a serialization stream + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + + + - - Process an incoming packet and raise the appropriate events - The sender - The 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. + + + Tools for dealing with agents inventory + - - Raised when the data server responds to a request. + + Used for converting shadow_id to asset_id + + + The event subscribers, null of no subscribers - - Raised when the data server responds to a request. + + Raises the ItemReceived Event + A ItemReceivedEventArgs 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 FolderUpdated Event + A FolderUpdatedEventArgs object containing + the data sent from the simulator - - Raised when the data server responds to a request. + + Thread sync lock object - - Classified Ad categories + + The event subscribers, null of no subscribers - - Classified is listed in the Any category + + Raises the InventoryObjectOffered Event + A InventoryObjectOfferedEventArgs object containing + the data sent from the simulator - - Classified is shopping related + + Thread sync lock object - - Classified is + + 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 - - Event Categories + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the SaveAssetToInventory Event + A SaveAssetToInventoryEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the ScriptRunningReply Event + A ScriptRunningReplyEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Partial mapping of AssetTypes to folder names - - + + + Default constructor + + Reference to the GridClient object - - + + + Fetch an inventory item from the dataserver + + The items + The item Owners + a integer representing the number of milliseconds to wait for results + An object on success, or null if no item was found + Items will also be sent to the event - - + + + Request A single inventory item + + The items + The item Owners + - - + + + Request inventory items + + Inventory items to request + Owners of the inventory items + - - + + + Get contents of a folder + + The of the folder to search + The of the folders owner + true to retrieve folders + true to retrieve items + sort order to return results in + a integer representing the number of milliseconds to wait for results + A list of inventory items matching search criteria within folder + + InventoryFolder.DescendentCount will only be accurate if both folders and items are + requested - + - 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 + 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 + - - Query the People database + + + 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 - - Query the Groups database + + + 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 - - Query the Events database + + + Move an inventory item or folder to a new location + + The item or folder to move + The to move item or folder to - - Query the land holdings database for land owned by the currently connected agent + + + 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 - - Query the land holdings database for land which is owned by a Group + + + Move a folder + + The source folders + The destination folders - - Specifies the query should pre sort the results based upon traffic - when searching the Places database + + + 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 - - 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 + + + Remove a single item from inventory + + The of the inventory item to remove - - 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 + + + Remove a folder from inventory + + The of the folder to remove - - 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 + + + 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 - - 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 + + + Empty the Lost and Found folder + - - 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 + + + Empty the Trash folder + - - 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 + + + + + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + - - 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 + + + + + + + + + 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 - - Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + 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 - - Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + 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 - - Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + 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 - + - Land types to search dataserver for + 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 - - Search Auction, Mainland and Estate + + + 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 - - Land which is currently up for auction + + + + + + + + - - Parcels which are on the mainland (Linden owned) continents + + + + + + + + + - - Parcels which are on privately owned simulators + + + + + + + + + + + + + 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 - + - The content rating of the event + + - - Event is PG - - - Event is Mature - - - Event is Adult - - + - Classified Ad Options + - There appear to be two formats the flags are packed in. - This set of flags is for the newer style - - - - - - - - - - - - - - - + - + - Classified ad query options + + + - - Include all ads in results - - - Include PG ads in results - - - Include Mature ads in results - - - Include Adult ads in results - - + - The For Sale flag in PlacesReplyData + + + + - - Parcel is not listed for sale - - - Parcel is For Sale - - + - A classified ad on the grid + 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 - - UUID for this ad, useful for looking up detailed - information about it - - - The title of this classified ad - - - Flags that show certain options applied to the classified - - - Creation date of the ad - - - Expiration date of the ad - - - Price that was paid for this ad - - - Print the struct data as a string - A string containing the field name, and field value - - + - A parcel retrieved from the dataserver such as results from the - "For-Sale" listings or "Places" Search + Upload new gesture asset for an inventory gesture item + Encoded gesture asset + Gesture inventory UUID + Callback whick will be called when upload is complete - - The unique dataserver parcel ID - This id is used to obtain additional information from the entry - by using the method - - - A string containing the name of the parcel - - - The size of the parcel - This field is not returned for Places searches - - - The price of the parcel - This field is not returned for Places searches - - - If True, this parcel is flagged to be auctioned - - - If true, this parcel is currently set for sale - - - Parcel traffic - - - Print the struct data as a string - A string containing the field name, and field value - - + - An Avatar returned from the dataserver + 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 + - - Online status of agent - This field appears to be obsolete and always returns false - - - The agents first name - - - The agents last name - - - The agents - - - Print the struct data as a string - A string containing the field name, and field value - - + - Response to a "Groups" Search + Update an existing script in an task Inventory + A byte[] array containing the encoded scripts contents + the itemID of the script + UUID of the prim containting the script + if true, sets the script content to run on the mono interpreter + if true, sets the script to running + - - The Group ID - - - The name of the group - - - The current number of members - - - Print the struct data as a string - A string containing the field name, and field value - - + - Parcel information returned from a request - - Represents one of the following: - A parcel of land on the grid that has its Show In Search flag set - A parcel of land owned by the agent making the request - A parcel of land owned by a group the agent making the request is a member of - - - In a request for Group Land, the First record will contain an empty record - - Note: This is not the same as searching the land for sale data source + 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 - - The ID of the Agent of Group that owns the parcel - - - The name - - - The description - - - The Size of the parcel - - - The billable Size of the parcel, for mainland - parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller - than the ActualArea. For Estate land this will always be 0 - - - Indicates the ForSale status of the parcel - - - The Gridwide X position + + + 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 - - The Gridwide Y position + + + 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 - - The Z position of the parcel, or 0 if no landing point set + + + 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 - - The name of the Region the parcel is located in + + + 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 - - The Asset ID of the parcels Snapshot texture + + + Rez an item from inventory to its previous simulator location + + + + + - - The calculated visitor traffic + + + 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 - - The billing product SKU - Known values are: - - 023Mainland / Full Region - 024Estate / Full Region - 027Estate / Openspace - 029Estate / Homestead - 129Mainland / Homestead (Linden Owned) - - + + + 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 - - No longer used, will always be 0 + + + 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 - - Get a SL URL for the parcel - A string, containing a standard SLURL + + + 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 - - Print the struct data as a string - A string containing the field name, and field value + + + Request the contents of a tasks (primitives) inventory from the + current simulator + + The LocalID of the object + - + - An "Event" Listing summary + 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 + - - The ID of the event creator + + + 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 - - The name of 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 - - The events ID + + + Copy an InventoryScript item from the Agents Inventory into a primitives task inventory + + An unsigned integer representing a primitive being simulated + An which represents a script object from the agents inventory + true to set the scripts running state to enabled + A Unique Transaction ID + + The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory + and assumes the script exists in the agents inventory. + + uint primID = 95899503; // Fake prim ID + UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory + + Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, + false, true, InventorySortOrder.ByName, 10000); + + Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); + + - - A string containing the short date/time the event will begin + + + 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 + - - The event start time in Unixtime (seconds since epoch) + + + 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 - - The events maturity rating + + + Create a CRC from an InventoryItem + + The source InventoryItem + A uint representing the source InventoryItem as a CRC - - Print the struct data as a string - A string containing the field name, and field value + + + 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 - + - The details of an "Event" + Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id + asset_id value to obfuscate + Obfuscated shadow_id value - - The events ID + + + 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 - - The ID of the event creator + + + 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 - - The name of the event + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The category + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The events description + + + UpdateCreateInventoryItem packets are received when a new inventory item + is created. This may occur when an object that's rezzed in world is + taken into inventory, when an item is created using the CreateInventoryItem + packet, or when an object is purchased + + The sender + The EventArgs object containing the packet data - - The short date/time the event will begin + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The event start time in Unixtime (seconds since epoch) UTC adjusted + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The length of the event in minutes + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - 0 if no cover charge applies + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The cover charge amount in L$ if applicable + + Raised when the simulator sends us data containing + ... - - The name of the region where the event is being held + + Raised when the simulator sends us data containing + ... - - The gridwide location of the event + + Raised when the simulator sends us data containing + an inventory object sent by another avatar or primitive - - The maturity rating + + Raised when the simulator sends us data containing + ... - - Get a SL URL for the parcel where the event is hosted - A string, containing a standard SLURL + + Raised when the simulator sends us data containing + ... - - Print the struct data as a string - A string containing the field name, and field value + + Raised when the simulator sends us data containing + ... - - Contains the Event data returned from the data server from an EventInfoRequest + + Raised when the simulator sends us data containing + ... - - Construct a new instance of the EventInfoReplyEventArgs class - A single EventInfo object containing the details of an event + + Raised when the simulator sends us data containing + ... - + - A single EventInfo object containing the details of an event + Get this agents Inventory data - - Contains the "Event" detail data returned from the data server + + + 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 - - 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 + + + Callback for an inventory item being create from an uploaded asset + + true if inventory item creation was successful + + + - - The ID returned by + + + + + - - A list of "Events" returned by the data server + + + Reply received when uploading an inventory asset + + Has upload been successful + Error message if upload failed + Inventory asset UUID + New asset UUID - - Contains the "Event" list data returned from the data server + + + 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 - - 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 + + Set to true to accept offer, false to decline it - - The ID returned by + + The folder to accept the inventory into, if null default folder for will be used - - A list of "Places" returned by the data server + + + 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. + - - Contains the places data returned from the data server + + + Map layer request type + - - 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 + + Objects and terrain are shown - - The ID returned by + + Only the terrain is shown, no objects - - A list containing Places data returned by the data server + + Overlay showing land for sale and for auction - - Contains the classified data returned from the data server + + + Type of grid item, such as telehub, event, populator location, etc. + - - Construct a new instance of the DirClassifiedsReplyEventArgs class - A list of classified ad data returned from the data server + + Telehub - - A list containing Classified Ads returned by the data server + + PG rated event - - Contains the group data returned from the data server + + Mature rated event - - 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 + + Popular location - - The ID returned by + + Locations of avatar groups in a region - - A list containing Groups data returned by the data server + + Land for sale - - Contains the people data returned from the data server + + Classified ad - - 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 + + Adult rated event - - The ID returned by + + Adult land for sale - - A list containing People data returned by the data server + + + Information about a region on the grid map + - - Contains the land sales data returned from the data server + + Sim X position on World Map - - Construct a new instance of the DirLandReplyEventArgs class - A list of parcels for sale returned by the data server + + Sim Y position on World Map - - A list containing land forsale data returned by the data server + + Sim Name (NOTE: In lowercase!) - - - 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 + + Appears to always be zero (None) - - - 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 + + Sim's defined Water Height - - - 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 + + UUID of the World Map image - - - 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 + + Unique identifier for this region, a combination of the X + and Y position - + - Capability to load TGAs to Bitmap + + - + - 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 + Visual chunk of the grid map - + - Decode the raw asset data including the Linden Text properties + Base class for Map Items - true if the AssetData was successfully decoded - - Override the base classes AssetType + + The Global X position of the item - - - Represents an Animation - + + The Global Y position of the item - - Default Constructor + + Get the Local X position of the item - - - Construct an Asset object of type Animation - - A unique specific to this asset - A byte array containing the raw asset data + + Get the Local Y position of the item - - Override the base classes AssetType + + Get the Handle of the region - + - Constants for the archiving module + Represents an agent or group of agents location - + - The location of the archive control file + Represents a Telehub location - + - Path for the assets held in an archive + Represents a non-adult parcel of land for sale - + - Path for the prims file + Represents an Adult parcel of land for sale - + - Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. + Represents a PG Event - + - Path for region settings. + Represents a Mature event - + - The character the separates the uuid from extension information in an archived asset filename + Represents an Adult event - + - Extensions used for asset types in the archive + Manages grid-wide tasks such as the world map - - - - + + The event subscribers. null if no subcribers - - No report + + Raises the CoarseLocationUpdate event + A CoarseLocationUpdateEventArgs object containing the + data sent by simulator - - Unknown report type + + Thread sync lock object - - Bug report + + The event subscribers. null if no subcribers - - Complaint report + + Raises the GridRegion event + A GridRegionEventArgs object containing the + data sent by simulator - - Customer service report + + Thread sync lock object - - - Bitflag field for ObjectUpdateCompressed data blocks, describing - which options are present for each object - + + The event subscribers. null if no subcribers - - Unknown + + Raises the GridLayer event + A GridLayerEventArgs object containing the + data sent by simulator - - Whether the object has a TreeSpecies + + Thread sync lock object - - Whether the object has floating text ala llSetText + + The event subscribers. null if no subcribers - - Whether the object has an active particle system + + Raises the GridItems event + A GridItemEventArgs object containing the + data sent by simulator - - Whether the object has sound attached to it + + Thread sync lock object - - Whether the object is attached to a root object or not + + The event subscribers. null if no subcribers - - Whether the object has texture animation settings + + Raises the RegionHandleReply event + A RegionHandleReplyEventArgs object containing the + data sent by simulator - - Whether the object has an angular velocity + + Thread sync lock object - - Whether the object has a name value pairs string + + A dictionary of all the regions, indexed by region name - - Whether the object has a Media URL set + + A dictionary of all the regions, indexed by region handle - + - Specific Flags for MultipleObjectUpdate requests + Constructor + Instance of GridClient object to associate with this GridManager instance - - 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 + Request a map layer + The name of the region + The type of layer - + - 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 + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - + + + Request data for all mainland (Linden managed) simulators + - + - Handles all network traffic related to prims and avatar positions and - movement. + Request the region handle for the specified region UUID + UUID of the region to look up - - The event subscribers, null of no subscribers + + + 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 - - 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 ObjectProperties Event - A ObjectPropertiesEventArgs 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 of no subscribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Raises the ObjectPropertiesUpdated Event - A ObjectPropertiesUpdatedEventArgs object containing - the data sent 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 - - The event subscribers, null of no subscribers + + Raised when the simulator sends GridLayer object containing + a map tile coordinates and texture information - - Raises the ObjectPropertiesFamily Event - A ObjectPropertiesFamilyEventArgs object containing - the data sent from the simulator + + Raised when the simulator sends GridItems object containing + details on events, land sales at a specific location - - Thread sync lock object + + Raised in response to a Region lookup - - The event subscribers, null of no subscribers + + Unknown - - Raises the AvatarUpdate Event - A AvatarUpdateEventArgs object containing - the data sent from the simulator + + Current direction of the sun - - Thread sync lock object + + Current angular velocity of the sun - - The event subscribers, null of no subscribers + + Current world time - - Thread sync lock object + + + + - - The event subscribers, null of no subscribers + + - - Raises the ObjectDataBlockUpdate Event - A ObjectDataBlockUpdateEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the KillObject Event - A KillObjectEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the AvatarSitChanged Event - A AvatarSitChangedEventArgs object containing - the data sent from the simulator + + + Login Request Parameters + - - Thread sync lock object + + The URL of the Login Server - - The event subscribers, null of no subscribers + + The number of milliseconds to wait before a login is considered + failed due to timeout - - Raises the PayPriceReply Event - A PayPriceReplyEventArgs object containing - the data sent from the simulator + + The request method + login_to_simulator is currently the only supported method - - Thread sync lock object + + The Agents First name - - Reference to the GridClient object + + The Agents Last name - - Does periodic dead reckoning calculation to convert - velocity and acceleration to new positions for objects + + A md5 hashed password + plaintext password will be automatically hashed - - - Construct a new instance of the ObjectManager class - - A reference to the instance + + 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 - - - Request information for a single object from a - you are currently connected to - - The the object is located - The Local ID of the object + + A string containing the client software channel information + Second Life Release - - - Request information for multiple objects contained in - the same simulator - - The the objects are located - An array containing the Local IDs of the objects + + The 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 - - - 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); - - + + A string containing the platform information the agent is running on - - - Request prices that should be displayed in pay dialog. This will triggger the simulator - to send us back a PayPriceReply which can be handled by OnPayPriceReply event - - The the object is located - The ID of the object - The result is raised in the event + + A string hash of the network cards Mac Address - - - 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 - + + Unknown or deprecated - - - 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 - + + A string hash of the first disk drives ID used to identify this clients uniqueness - - - 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 - + + A string containing the viewers Software, this is not directly sent to the login server but + instead is used to generate the Version string - - - 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 - + + 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 - - - 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 + + If true, this agent agrees to the Terms of Service of the grid its connecting to - - - 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 + + Unknown - - - 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 + + An array of string sent to the login server to enable various options - - - Deselect a single object - - The the object is located - The Local ID of the object + + 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 - + - Deselect multiple objects. + Default constuctor, initializes sane default values - The the objects are located - An array containing the Local IDs of the objects - + - Perform a click action on an object + Instantiates new LoginParams object and fills in the values - The the object is located - The Local ID of the object + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number - + - Perform a click action (Grab) on a single object + Instantiates new LoginParams object and fills in the values - 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 + 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 - + - Create (rez) a new prim object in a simulator + The decoded data returned from the login server after a successful login - 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 + + true, false, indeterminate - - - 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 + + Login message of the day - - - 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 + + M or PG, also agent_region_access and agent_access_max - + - Set the textures to apply to the faces of an object + Parse LLSD Login Reply Data - 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 + An + contaning the login response data + XML-RPC logins do not require this as XML-RPC.NET + automatically populates the struct properly using attributes - + - 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 + + OK - - - 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 + + Transfer completed - - - 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 + + + + + Unknown error occurred + + + Equivalent to a 404 error + + + Client does not have permission for that resource + + + Unknown status - + - 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 + + Unknown - + + Virtually all asset transfers use this channel + + - 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 - + + + + + Asset from the asset server + + + Inventory item + + + Estate asset, such as an estate covenant + + - 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 + Image file format - 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 - + + Number of milliseconds passed since the last transfer + packet was received + + - 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 - + + Number of milliseconds to wait for a transfer header packet if out of order data was received + + + The event subscribers. null if no subcribers + + + Raises the XferReceived event + A XferReceivedEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the AssetUploaded event + A AssetUploadedEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the UploadProgress event + A UploadProgressEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the InitiateDownload event + A InitiateDownloadEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ImageReceiveProgress event + A ImageReceiveProgressEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + Texture download cache + + - Deed an object (prim) to a group, Object must be shared with group which - can be accomplished with SetPermissions() + Default constructor - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The of the group to deed the object to + A reference to the GridClient object - + - Deed multiple objects (prims) to a group, Objects must be shared with group which - can be accomplished with SetPermissions() + Request an asset download - 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 + 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 - + - Set the permissions on multiple objects + Request an asset download - 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? + 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 additional properties for an object + Request an asset download - A reference to the object where the object resides - + 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 additional properties for an object + Request an asset download through the almost deprecated Xfer system - A reference to the object where the object resides - Absolute UUID of the object - Whether to require server acknowledgement of this request + 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 + - + - 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 + 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 + - + - Update current URL of the previously set prim media + Used to force asset data into the PendingUpload property, ie: for raw terrain uploads - UUID of the prim - Set current URL to this - Prim face number - Simulator in which prim is located + An AssetUpload object containing the data to upload to the simulator - + - Set object media + Request an asset be uploaded to the simulator - 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 + 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 - + - Retrieve information about object media + Request an asset be uploaded to the simulator - 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 + 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 - + - A terse object update, used when a transformation matrix or - velocity/acceleration for an object changes but nothing else - (scale/position/rotation/acceleration/velocity) + Request an asset be uploaded to the 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 - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + 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 - + - Setup construction data for a basic primitive shape + Initiate an asset upload - Primitive shape to construct - Construction data that can be plugged into a + The ID this asset will have if the + upload succeeds + Asset type to upload this data as + Raw asset data to upload + Whether to store this asset on the local + simulator or the grid-wide asset server + The tranaction id for the upload + The transaction ID of this transfer - - + + + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + A float indicating the requested priority for the transfer. Higher priority values tell the simulator + to prioritize the request before lower valued requests. An image already being transferred using the can have + its priority changed by resending the request with the new priority value + Number of quality layers to discard. + This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress + transfer. + A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority + indicating an off-by-one error. + The packet number to begin the request at. A value of 0 begins the request + from the start of the asset texture + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request + + Request an image and fire a callback when the request is complete + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); + + private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", + asset.AssetID, + asset.AssetData.Length); + } + } + + Request an image and use an inline anonymous method to handle the downloaded texture data + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", + asset.AssetID, + asset.AssetData.Length); + } + } + ); + + Request a texture, decode the texture to a bitmap image and apply it to a imagebox + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); + + private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + ManagedImage imgData; + Image bitmap; + if (state == TextureRequestState.Finished) + { + OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); + picInsignia.Image = bitmap; + } + } + } + + + + + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator - - - - + The of the texture asset to download + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data - + - + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator - - + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data - + - Set the Shape data of an object + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator - 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 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 - + - Set the Material data of an object + Cancel a texture request - 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 texture assets - + - + Requests download of a mesh asset - - - - + UUID of the mesh asset + Callback when the request completes - + - + Lets TexturePipeline class fire the progress event - - - - + The texture ID currently being downloaded + the number of bytes transferred + the total number of bytes expected - - Raised when the simulator sends us data containing - A , Foliage or Attachment - - + + 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 - additional information - - + + 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 - Primitive.ObjectProperties for an object we are currently tracking + + 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 - additional and details - + + 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 - updated information for an + + 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 - and movement changes + + 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 - updates to an Objects DataBlock + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Raised when the simulator informs us an - or is no longer within view + + 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 - updated sit information for our + + Raised when the simulator responds sends - - Raised when the simulator sends us data containing - purchase price information for a + + Raised during upload completes - - - Callback for getting object media data via CAP - - Indicates if the operation was succesfull - Object media version string - Array indexed on prim face of media entry data + + Raised during upload with progres update - - 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); - } - - - - - + + 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 + + - Construct a new instance of the PrimEventArgs class + Callback used for various asset download requests - 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); - } - } - - - - + Transfer information + Downloaded asset, null on fail - + - Construct a new instance of the AvatarUpdateEventArgs class + Callback used upon competition of baked texture upload - 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); - } - - + Asset UUID of the newly uploaded baked texture - + - Construct a new instance of the ObjectPropertiesEventArgs class + A callback that fires upon the completition of the RequestMesh call - The simulator the object is located - The primitive Properties + Was the download successfull + Resulting mesh or null on problems - - Get the simulator the object is located + + Xfer data - - Get the primitive properties + + Upload data - - 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 - + + Filename used on the simulator - - - Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class - - The simulator the object is located - The Primitive - The primitive Properties + + Filename used by the client - - Get the simulator the object is located + + UUID of the image that is in progress - - Get the primitive details + + Number of bytes received so far - - Get the primitive properties + + Image size in bytes - - 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 - + + + Static pre-defined animations available to all agents + - - Get the simulator the object is located + + Agent with afraid expression on face - - + + Agent aiming a bazooka (right handed) - - + + Agent aiming a bow (left handed) - - Provides primitive data containing updated location, velocity, rotation, textures for the event - The event occurs when the simulator sends updated location, velocity, rotation, etc - + + Agent aiming a hand gun (right handed) - - Get the simulator the object is located + + Agent aiming a rifle (right handed) - - Get the primitive details + + Agent with angry expression on face - - + + Agent hunched over (away) - - + + Agent doing a backflip - - - - + + Agent laughing while holding belly - - Get the simulator the object is located + + Agent blowing a kiss - - Get the primitive details + + Agent with bored expression on face - - + + Agent bowing to audience - - + + Agent brushing himself/herself off - - + + Agent in busy mode - - + + Agent clapping hands - - Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the - event + + Agent doing a curtsey bow - - Get the simulator the object is located + + Agent crouching - - The LocalID of the object + + Agent crouching while walking - - - Provides updates sit position data - + + Agent crying - - Get the simulator the object is located + + Agent unanimated with arms out (e.g. setting appearance) - - + + Agent re-animated after set appearance finished - - + + Agent dancing - - + + Agent dancing - - - - + + Agent dancing - - Get the simulator the object is located + + Agent dancing - - + + Agent dancing - - + + Agent dancing - - + + Agent dancing - - - Indicates if the operation was successful - + + Agent dancing - - - Media version string - + + Agent on ground unanimated - - - Array of media entries indexed by face number - + + Agent boozing it up - - - - + + Agent with embarassed expression on face - - - - - + + Agent with afraid expression on face - - - De-serialization constructor for the InventoryNode Class - + + Agent with angry expression on face - - - Serialization handler for the InventoryNode Class - + + Agent with bored expression on face - - - De-serialization handler for the InventoryNode Class - + + Agent crying - - - - - + + Agent showing disdain (dislike) for something - - + + Agent with embarassed expression on face - - + + Agent with frowning expression on face - - + + Agent with kissy face - - + + Agent expressing laughgter + + + Agent with open mouth + + + Agent with repulsed expression on face - - - For inventory folder nodes specifies weather the folder needs to be - refreshed from the server - + + Agent expressing sadness - - - A Wrapper around openjpeg to encode and decode images to and from byte arrays - + + Agent shrugging shoulders - - TGA Header size + + Agent with a smile - - OpenJPEG is not threadsafe, so this object is used to lock - during calls into unmanaged code + + Agent expressing surprise - - - 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 sticking tongue out - - - Encode a object into a byte array - - The object to encode - a byte array of the encoded image + + Agent with big toothy smile - - - 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 winking - - - - - - - + + Agent expressing worry - - - - - - - - + + Agent falling down - - - 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 walking (feminine version) - - - Defines the beginning and ending file positions of a layer in an - LRCP-progression JPEG2000 file - + + Agent wagging finger (disapproval) - - - This structure is used to marshal both encoded and decoded images. - MUST MATCH THE STRUCT IN dotnet.h! - + + I'm not sure I want to know - - - Information about a single packet in a JPEG2000 stream - + + Agent in superman position - - Packet start position + + Agent in superman position - - Packet header end position + + Agent greeting another - - Packet end position + + Agent holding bazooka (right handed) - - = + + Agent holding a bow (left handed) - - Number of times we've received an unknown CAPS exception in series. + + Agent holding a handgun (right handed) - - For exponential backoff on error. + + Agent holding a rifle (right handed) - - X position of this patch + + Agent throwing an object (right handed) - - Y position of this patch + + Agent in static hover - - A 16x16 array of floats holding decompressed layer data + + Agent hovering downward - - - 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 hovering upward - - - 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 being impatient - - - Checks the instance back into the object pool - + + Agent jumping - - - Returns an instance of the class that has been checked out of the Object Pool. - + + Agent jumping with fervor - - Describes tasks returned in LandStatReply + + Agent point to lips then rear end - - - Estate level administration and utilities - + + Agent landing from jump, finished flight, etc - - Textures for each of the four terrain height levels + + Agent laughing - - Upper/lower texture boundaries for each corner of the sim + + Agent landing from jump, finished flight, etc - - - Constructor for EstateTools class - - + + Agent sitting on a motorcycle - - The event subscribers. null if no subcribers + + - - Raises the TopCollidersReply event - A TopCollidersReplyEventArgs object containing the - data returned from the data server + + Agent moving head side to side - - Thread sync lock object + + Agent moving head side to side with unhappy expression - - The event subscribers. null if no subcribers + + Agent taunting another - - Raises the TopScriptsReply event - A TopScriptsReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + Agent giving peace sign - - The event subscribers. null if no subcribers + + Agent pointing at self - - Raises the EstateUsersReply event - A EstateUsersReplyEventArgs object containing the - data returned from the data server + + Agent pointing at another - - Thread sync lock object + + Agent preparing for jump (bending knees) - - The event subscribers. null if no subcribers + + Agent punching with left hand - - Raises the EstateGroupsReply event - A EstateGroupsReplyEventArgs object containing the - data returned from the data server + + Agent punching with right hand - - Thread sync lock object + + Agent acting repulsed + + + Agent trying to be Chuck Norris - - The event subscribers. null if no subcribers + + Rocks, Paper, Scissors 1, 2, 3 - - Raises the EstateManagersReply event - A EstateManagersReplyEventArgs object containing the - data returned from the data server + + Agent with hand flat over other hand - - Thread sync lock object + + Agent with fist over other hand - - The event subscribers. null if no subcribers + + Agent with two fingers spread over other hand - - Raises the EstateBansReply event - A EstateBansReplyEventArgs object containing the - data returned from the data server + + Agent running - - Thread sync lock object + + Agent appearing sad - - The event subscribers. null if no subcribers + + Agent saluting - - Raises the EstateCovenantReply event - A EstateCovenantReplyEventArgs object containing the - data returned from the data server + + Agent shooting bow (left handed) - - Thread sync lock object + + Agent cupping mouth as if shouting - - The event subscribers. null if no subcribers + + Agent shrugging shoulders - - Raises the EstateUpdateInfoReply event - A EstateUpdateInfoReplyEventArgs object containing the - data returned from the data server + + Agent in sit position - - Thread sync lock object + + Agent in sit position (feminine) - - - Requests estate information such as top scripts and colliders - - - - - + + Agent in sit position (generic) - - Requests estate settings, including estate manager and access/ban lists + + Agent sitting on ground - - Requests the "Top Scripts" list for the current region + + Agent sitting on ground - - Requests the "Top Colliders" list for the current region + + - - - Set several estate specific configuration variables - - The Height of the waterlevel over the entire estate. Defaults to 20 - The maximum height change allowed above the baked terrain. Defaults to 4 - The minimum height change allowed below the baked terrain. Defaults to -4 - true to use - if True forces the sun position to the position in SunPosition - The current position of the sun on the estate, or when FixedSun is true the static position - the sun will remain. 6.0 = Sunrise, 30.0 = Sunset + + Agent sleeping on side - - - 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 + + Agent smoking - + + Agent inhaling smoke + + - - - - - Used for setting and retrieving various estate panel settings - - EstateOwnerMessage Method field - List of parameters to include + + Agent taking a picture - - - Kick an avatar from an estate - - Key of Agent to remove + + Agent standing - - - Ban an avatar from an estate - Key of Agent to remove - Ban user from this estate and all others owned by the estate owner + + Agent standing up - - Unban an avatar from an estate - Key of Agent to remove - /// Unban user from this estate and all others owned by the estate owner + + Agent standing - - - Send a message dialog to everyone in an entire estate - - Message to send all users in the estate + + Agent standing - - - Send a message dialog to everyone in a simulator - - Message to send all users in the simulator + + Agent standing - - - Send an avatar back to their home location - - Key of avatar to send home + + Agent standing - - - Begin the region restart process - + + Agent stretching - - - Cancels a region restart - + + Agent in stride (fast walk) - - Estate panel "Region" tab settings + + Agent surfing - - Estate panel "Debug" tab settings + + Agent acting surprised - - Used for setting the region's terrain textures for its four height levels - - - - + + Agent striking with a sword - - Used for setting sim terrain texture heights + + Agent talking (lips moving) - - Requests the estate covenant + + Agent throwing a tantrum - - - 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 + + Agent throwing an object (right handed) - - - Teleports all users home in current Estate - + + Agent trying on a shirt - - - Remove estate manager - Key of Agent to Remove - removes manager to this estate and all others owned by the estate owner + + Agent turning to the left - - - Add estate manager - Key of Agent to Add - Add agent as manager to this estate and all others owned by the estate owner + + Agent turning to the right - - - 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 + + Agent typing - - - Removes an agent from the estate Allowed list - Key of Agent to Remove - Removes agent as an allowed reisdent from All estates if true + + Agent walking - - - - 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 + + Agent whispering - - - - Removes a group from the estate Allowed list - Key of Group to Remove - Removes Group as an allowed Group from All estates if true + + Agent whispering with fingers in mouth + + + Agent winking + + + Agent winking - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Agent worried - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Agent nodding yes - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Agent nodding yes with happy face - - Raised when the data server responds to a request. + + Agent floating with legs and arms crossed - - Raised when the data server responds to a request. + + + 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 - - Raised when the data server responds to a request. + + + Level of Detail mesh + - - Raised when the data server responds to a request. + + + A linkset asset, containing a parent primitive and zero or more children + - - Raised when the data server responds to a request. + + Initializes a new instance of an AssetPrim object - - Raised when the data server responds to a request. + + + Initializes a new instance of an AssetPrim object + + A unique specific to this asset + A byte array containing the raw asset data - - 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 + + Override the base classes AssetType - - Used by EstateOwnerMessage packets + + + Only used internally for XML serialization/deserialization + - - Used by EstateOwnerMessage packets + + + The deserialized form of a single primitive in a linkset asset + - + - - No flags set - - - Only return targets scripted objects + + The event subscribers, null of no subscribers - - Only return targets objects if on others land + + Raises the AttachedSound Event + A AttachedSoundEventArgs object containing + the data sent from the simulator - - Returns target's scripted objects and objects on other parcels + + Thread sync lock object - - Ground texture settings for each corner of the region + + The event subscribers, null of no subscribers - - Used by GroundTextureHeightSettings + + Raises the AttachedSoundGainChange Event + A AttachedSoundGainChangeEventArgs object containing + the data sent from the simulator - - The high and low texture thresholds for each corner of the sim + + Thread sync lock object - - Raised on LandStatReply when the report type is for "top colliders" + + The event subscribers, null of no subscribers - - Construct a new instance of the TopCollidersReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply + + Raises the SoundTrigger Event + A SoundTriggerEventArgs object containing + the data sent from the simulator - - - The number of returned items in LandStatReply - + + Thread sync lock object - - - A Dictionary of Object UUIDs to tasks returned in LandStatReply - + + The event subscribers, null of no subscribers - - Raised on LandStatReply when the report type is for "top Scripts" + + Raises the PreloadSound Event + A PreloadSoundEventArgs object containing + the data sent from the simulator - - Construct a new instance of the TopScriptsReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply + + Thread sync lock object - + - The number of scripts returned in LandStatReply + Construct a new instance of the SoundManager class, used for playing and receiving + sound assets + A reference to the current GridClient instance - + - A Dictionary of Object UUIDs to tasks returned in LandStatReply + Plays a sound in the current region at full volume from avatar position + UUID of the sound to be played - - 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 + + + 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. - + - The identifier of the estate + 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 - + - The number of returned itmes + 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 - + - List of UUIDs of Banned Users + 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 - - 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 + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The 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 ... + } + + - + - The identifier of the estate + 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 - - - The number of returned items - + + Simulator where the event originated - - - List of UUIDs of Allowed Users - + + Get the sound asset id - - Returned, along with other info, upon a successful .RequestInfo() + + Get the ID of the owner - - Construct a new instance of the EstateGroupsReplyEventArgs class - The estate's identifier on the grid - The number of Groups - Allowed Groups UUIDs + + Get the ID of the Object - - - The identifier of the estate - + + Get the volume level - - - The number of returned items - + + Get the - + + Provides data for the event + The event occurs when an attached sound + changes its volume level + + - List of UUIDs of Allowed Groups + Construct a new instance of the AttachedSoundGainChangedEventArgs class + Simulator where the event originated + The ID of the Object + The new volume level - - Returned, along with other info, upon a successful .RequestInfo() + + Simulator where the event originated - - Construct a new instance of the EstateManagersReplyEventArgs class - The estate's identifier on the grid - The number of Managers - Managers UUIDs + + Get the ID of the Object - - - The identifier of the estate - + + Get the volume level - - - The number of returned items - + + 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); + } + + - + - List of UUIDs of the Estate's Managers + 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 - - Returned, along with other info, upon a successful .RequestInfo() + + Simulator where the event originated - - 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) + + Get the sound asset id - - - The Covenant - + + Get the ID of the owner - - - The timestamp - + + Get the ID of the Object - - - The Estate name - + + Get the ID of the objects parent - - - The Estate Owner's ID (can be a GroupID) - + + Get the volume level - - Returned, along with other info, upon a successful .RequestInfo() + + Get the regionhandle - - 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 - + + Get the source position - - - The estate's name - + + 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") + } + + - + - The Estate Owner's ID (can be a GroupID) + 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 identifier of the estate on the grid - + + Simulator where the event originated - - + + Get the sound asset id - - - Extract the avatar UUID encoded in a SIP URI - - - + + Get the ID of the owner - - - Permissions for control of object media - + + Get the ID of the Object - + - Style of cotrols that shold be displayed to the user + A Name Value pair with additional settings, used in the protocol + primarily to transmit avatar names and active group in object packets - - - 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 + + + + + + Constructor that takes all the fields as parameters + + + + + + - - Should viewer automatically zoom in on the face when clicked + + + Constructor that takes a single line from a NameValue field + + - - Should viewer interpret first click as interaction with the media - or when false should the first click be treated as zoom in commadn + + Type of the value - - Style of controls viewer should display when - viewer media on this face + + Unknown - - Starting URL for the media + + String value - - Currently navigated URL + + - - Media height in pixes + + - - Media width in pixels + + - - Who can controls the media + + - - Who can interact with the media + + Deprecated - - Is URL whitelist enabled + + String value, but designated as an asset - - Array of URLs that are whitelisted + + - + - Serialize to OSD + - OSDMap with the serialized data - - - Deserialize from OSD data - - Serialized OSD data - Deserialized object + + - - - Represents a Sound Asset - + + - - Initializes a new instance of an AssetSound object + + - - Initializes a new instance of an AssetSound object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + - + - TODO: Encodes a sound file + - - - TODO: Decode a sound file - - true + + - - Override the base classes AssetType + + - - - Represents 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 - + + Describes tasks returned in LandStatReply - + - TODO: Decode LSO Bytecode into a string + Estate level administration and utilities - true - - Override the base classes AssetType + + Textures for each of the four terrain height levels - + + Upper/lower texture boundaries for each corner of the sim + + - Simulator (region) properties + Constructor for EstateTools class + - - No flags set - - - Agents can take damage and be killed - - - Landmarks can be created here - - - Home position can be set in this sim + + The event subscribers. null if no subcribers - - Home position is reset when an agent teleports away + + Raises the TopCollidersReply event + A TopCollidersReplyEventArgs object containing the + data returned from the data server - - Sun does not move + + Thread sync lock object - - No object, land, etc. taxes + + The event subscribers. null if no subcribers - - Disable heightmap alterations (agents can still plant - foliage) + + Raises the TopScriptsReply event + A TopScriptsReplyEventArgs object containing the + data returned from the data server - - Land cannot be released, sold, or purchased + + Thread sync lock object - - All content is wiped nightly + + The event subscribers. null if no subcribers - - Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) + + Raises the EstateUsersReply event + A EstateUsersReplyEventArgs object containing the + data returned from the data server - - Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. + + Thread sync lock object - - Region does not update agent prim interest lists. Internal debugging option. + + The event subscribers. null if no subcribers - - No collision detection for non-agent objects + + Raises the EstateGroupsReply event + A EstateGroupsReplyEventArgs object containing the + data returned from the data server - - No scripts are ran + + Thread sync lock object - - All physics processing is turned off + + The event subscribers. null if no subcribers - - Region can be seen from other regions on world map. (Legacy world map option?) + + Raises the EstateManagersReply event + A EstateManagersReplyEventArgs object containing the + data returned from the data server - - Region can be seen from mainland on world map. (Legacy world map option?) + + Thread sync lock object - - Agents not explicitly on the access list can visit the region. + + The event subscribers. null if no subcribers - - Traffic calculations are not run across entire region, overrides parcel settings. + + Raises the EstateBansReply event + A EstateBansReplyEventArgs object containing the + data returned from the data server - - Flight is disabled (not currently enforced by the sim) + + Thread sync lock object - - Allow direct (p2p) teleporting + + The event subscribers. null if no subcribers - - Estate owner has temporarily disabled scripting + + Raises the EstateCovenantReply event + A EstateCovenantReplyEventArgs object containing the + data returned from the data server - - Restricts the usage of the LSL llPushObject function, applies to whole region. + + Thread sync lock object - - Deny agents with no payment info on file + + The event subscribers. null if no subcribers - - Deny agents with payment info on file + + Raises the EstateUpdateInfoReply event + A EstateUpdateInfoReplyEventArgs object containing the + data returned from the data server - - Deny agents who have made a monetary transaction + + Thread sync lock object - - Parcels within the region may be joined or divided by anyone, not just estate owners/managers. + + + Requests estate information such as top scripts and colliders + + + + + - - Abuse reports sent from within this region are sent to the estate owner defined email. + + Requests estate settings, including estate manager and access/ban lists - - Region is Voice Enabled + + Requests the "Top Scripts" list for the current region - - Removes the ability from parcel owners to set their parcels to show in search. + + Requests the "Top Colliders" list for the current region - - Deny agents who have not been age verified from entering the region. + + + Set several estate specific configuration variables + + The Height of the waterlevel over the entire estate. Defaults to 20 + The maximum height change allowed above the baked terrain. Defaults to 4 + The minimum height change allowed below the baked terrain. Defaults to -4 + true to use + if True forces the sun position to the position in SunPosition + The current position of the sun on the estate, or when FixedSun is true the static position + the sun will remain. 6.0 = Sunrise, 30.0 = Sunset - + - Access level for a simulator + 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 - - Unknown or invalid access level + + + + - - Trial accounts allowed + + + Used for setting and retrieving various estate panel settings + + EstateOwnerMessage Method field + List of parameters to include - - PG rating + + + Kick an avatar from an estate + + Key of Agent to remove - - Mature rating + + + Ban an avatar from an estate + Key of Agent to remove + Ban user from this estate and all others owned by the estate owner - - Adult rating + + Unban an avatar from an estate + Key of Agent to remove + /// Unban user from this estate and all others owned by the estate owner - - Simulator is offline + + + Send a message dialog to everyone in an entire estate + + Message to send all users in the estate - - Simulator does not exist + + + Send a message dialog to everyone in a simulator + + Message to send all users in the simulator - + - + Send an avatar back to their home location + Key of avatar to send home - - A public reference to the client that this Simulator object - is attached to + + + Begin the region restart process + - - A Unique Cache identifier for this simulator + + + Cancels a region restart + - - The capabilities for this simulator + + Estate panel "Region" tab settings - - + + Estate panel "Debug" tab settings - - The current version of software this simulator is running + + Used for setting the region's terrain textures for its four height levels + + + + - - + + Used for setting sim terrain texture heights - - A 64x64 grid of parcel coloring values. The values stored - in this array are of the type + + Requests the estate covenant - - + + + Upload a terrain RAW file + + A byte array containing the encoded terrain data + The name of the file being uploaded + The Id of the transfer request - - + + + Teleports all users home in current Estate + - - + + + Remove estate manager + Key of Agent to Remove + removes manager to this estate and all others owned by the estate owner - - + + + Add estate manager + Key of Agent to Add + Add agent as manager to this estate and all others owned by the estate owner - - + + + Add's an agent to the estate Allowed list + Key of Agent to Add + Add agent as an allowed reisdent to All estates if true - - + + + Removes an agent from the estate Allowed list + Key of Agent to Remove + Removes agent as an allowed reisdent from All estates if true - - + + + + Add's a group to the estate Allowed list + Key of Group to Add + Add Group as an allowed group to All estates if true - - + + + + Removes a group from the estate Allowed list + Key of Group to Remove + Removes Group as an allowed Group from All estates if true - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - true if your agent has Estate Manager rights on this region + + Used in the ReportType field of a LandStatRequest - - + + Used by EstateOwnerMessage packets + + + Used by EstateOwnerMessage packets - - + + + + - - + + No flags set - - Statistics information for this simulator and the - connection to the simulator, calculated by the simulator itself - and the library + + Only return targets scripted objects - - The regions Unique ID + + Only return targets objects if on others land - - The physical data center the simulator is located - Known values are: - - Dallas - Chandler - SF - - + + Returns target's scripted objects and objects on other parcels - - The CPU Class of the simulator - Most full mainland/estate sims appear to be 5, - Homesteads and Openspace appear to be 501 + + Ground texture settings for each corner of the region - - The number of regions sharing the same CPU as this one - "Full Sims" appear to be 1, Homesteads appear to be 4 + + Used by GroundTextureHeightSettings - - 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 high and low texture thresholds for each corner of the sim - - The billing product SKU - Known values are: - - 023 Mainland / Full Region - 024 Estate / Full Region - 027 Estate / Openspace - 029 Estate / Homestead - 129 Mainland / Homestead (Linden Owned) - 131 Linden Homes / Full Region - - + + Raised on LandStatReply when the report type is for "top colliders" - - The current sequence number for packets sent to this - simulator. Must be Interlocked before modifying. Only - useful for applications manipulating sequence numbers + + Construct a new instance of the TopCollidersReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply - + - A thread-safe dictionary containing avatars in a simulator + The number of returned items in LandStatReply - + - A thread-safe dictionary containing primitives in a simulator + A Dictionary of Object UUIDs to tasks returned in LandStatReply - + + Raised on LandStatReply when the report type is for "top Scripts" + + + Construct a new instance of the TopScriptsReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply + + - Provides access to an internal thread-safe dictionary containing parcel - information found in this simulator + The number of scripts returned in LandStatReply - + - Checks simulator parcel map to make sure it has downloaded all data successfully + A Dictionary of Object UUIDs to tasks returned in LandStatReply - true if map is full (contains no 0's) - - - Used internally to track sim disconnections - - Event that is triggered when the simulator successfully - establishes a connection + + Returned, along with other info, upon a successful .RequestInfo() - - Whether this sim is currently connected or not. Hooked up - to the property Connected + + 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 - - Coarse locations of avatars in this simulator + + + The identifier of the estate + - - AvatarPositions key representing TrackAgent target + + + The number of returned itmes + - - Sequence numbers of packets we've received - (for duplicate checking) + + + List of UUIDs of Banned Users + - - Packets we sent out that need ACKs from the simulator + + Returned, along with other info, upon a successful .RequestInfo() - - Sequence number for pause/resume + + Construct a new instance of the EstateUsersReplyEventArgs class + The estate's identifier on the grid + The number of users + Allowed users UUIDs - - Indicates if UDP connection to the sim is fully established + + + The identifier of the estate + - + - + The number of returned items - Reference to the GridClient object - IPEndPoint of the simulator - handle of the simulator - + - Called when this Simulator object is being destroyed + List of UUIDs of Allowed Users - + + Returned, along with other info, upon a successful .RequestInfo() + + + Construct a new instance of the EstateGroupsReplyEventArgs class + The estate's identifier on the grid + The number of Groups + Allowed Groups UUIDs + + - Attempt to connect to this simulator + The identifier of the estate - 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 + The number of returned items - + - Disconnect from this simulator + List of UUIDs of Allowed Groups - + + Returned, along with other info, upon a successful .RequestInfo() + + + Construct a new instance of the EstateManagersReplyEventArgs class + The estate's identifier on the grid + The number of Managers + Managers UUIDs + + - Instructs the simulator to stop sending update (and possibly other) packets + The identifier of the estate - + - Instructs the simulator to resume sending update packets (unpause) + The number of returned items - + - Retrieve the terrain height at a given coordinate + List of UUIDs of the Estate's Managers - 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 - + + 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) + + - Sends a packet + The Covenant - Packet to be sent - + - + The timestamp - + - Returns Simulator Name as a String + The Estate name - - + - + The Estate Owner's ID (can be a GroupID) - - + + Returned, along with other info, upon a successful .RequestInfo() + + + Construct a new instance of the EstateUpdateInfoReplyEventArgs class + The estate's name + The Estate Owners ID (can be a GroupID) + The estate's identifier on the grid + + + - + The estate's name - - - + - Sends out pending acknowledgements + The Estate Owner's ID (can be a GroupID) - Number of ACKs sent - + - Resend unacknowledged packets + The identifier of the estate on the grid - + + + + - Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + Holds group information for Avatars such as those you might find in a profile - - 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 + + true of Avatar accepts group notices - - - Simulator Statistics - + + Groups Key - - Total number of packets sent by this simulator to this agent + + Texture Key for groups insignia - - Total number of packets received by this simulator to this agent + + Name of the group - - Total number of bytes sent by this simulator to this agent + + Powers avatar has in the group - - Total number of bytes received by this simulator to this agent + + Avatars Currently selected title - - Time in seconds agent has been connected to simulator + + true of Avatar has chosen to list this in their profile - - Total number of packets that have been resent + + + Contains an animation currently being played by an agent + - - Total number of resent packets recieved + + The ID of the animation asset - - Total number of pings sent to this simulator by this agent + + 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 - - Total number of ping replies sent to this agent by this simulator + + - + - Incoming bytes per second + Holds group information on an individual profile pick - It would be nice to have this claculated on the fly, but - this is far, far easier - + - Outgoing bytes per second + Retrieve friend status notifications, and retrieve avatar names and + profiles - It would be nice to have this claculated on the fly, but - this is far, far easier - - Time last ping was sent + + The event subscribers, null of no subscribers - - ID of last Ping sent + + 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 - - Current time dilation of this simulator + + Raises the AvatarAppearance Event + A AvatarAppearanceEventArgs object containing + the data sent from the simulator - - Current Frames per second of simulator + + Thread sync lock object - - Current Physics frames per second of simulator + + 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 - - Total number of objects Simulator is simulating + + The event subscribers, null of no subscribers - - Total number of Active (Scripted) objects running + + Raises the AvatarGroupsReply Event + A AvatarGroupsReplyEventArgs object containing + the data sent from the simulator - - Number of agents currently in this simulator + + Thread sync lock object - - Number of agents in neighbor simulators + + The event subscribers, null of no subscribers - - Number of Active scripts running in this simulator + + 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 - - Number of downloads pending + + Thread sync lock object - - Number of uploads pending + + 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 - - Number of local uploads pending + + The event subscribers, null of no subscribers - - Unacknowledged bytes in queue + + Raises the ViewerEffect Event + A ViewerEffectEventArgs object containing + the data sent from the simulator - - - Exception class to identify inventory exceptions - + + Thread sync lock object - - - Responsible for maintaining inventory structure. Inventory constructs nodes - and manages node children as is necessary to maintain a coherant hirarchy. - Other classes should not manipulate or create InventoryNodes explicitly. When - A node's parent changes (when a folder is moved, for example) simply pass - Inventory the updated InventoryFolder and it will make the appropriate changes - to its internal representation. - + + The event subscribers, null 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 InventoryObjectUpdated Event - A InventoryObjectUpdatedEventArgs object containing + + 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 InventoryObjectRemoved Event - A InventoryObjectRemovedEventArgs object containing + + 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 InventoryObjectAdded Event - A InventoryObjectAddedEventArgs object containing + + Raises the ClassifiedInfoReply Event + A ClassifiedInfoReplyEventArgs object containing the data sent from the simulator - + Thread sync lock object - + - Returns the contents of the specified folder + Represents other avatars - 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 + + Tracks the specified avatar on your map + Avatar ID to track - + - Removes the InventoryObject and all related node data from Inventory. + Request a single avatar name - The InventoryObject to remove. + The avatar key to retrieve a name for - + - Used to find out if Inventory contains the InventoryObject - specified by uuid. + Request a list of avatar names - The UUID to check. - true if inventory contains uuid, false otherwise + The avatar keys to retrieve names for - + - Saves the current inventory structure to a cache file + Start a request for Avatar Properties - 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. + Search for an avatar (first name, last name) - 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 name to search for + An ID to associate with this query - + - The root folder of this avatars inventory + Start a request for Avatar Picks + UUID of the avatar - + - The default shared library folder + Start a request for Avatar Classifieds + UUID of the avatar - + - The root node of the avatars inventory + Start a request for details of a specific profile pick + UUID of the avatar + UUID of the profile pick - + - The root node of the default shared library + Start a request for details of a specific profile classified + UUID of the avatar + UUID of the profile classified - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + - 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. + 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 UUID of the InventoryObject to get or set, ignored if set to non-null value. - The InventoryObject corresponding to uuid. + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Raised when the simulator sends us data containing + an agents animation playlist + + + Raised when the simulator sends us data containing + the appearance information for an agent + + + Raised when the simulator sends us data containing + agent names/id values + + + Raised when the simulator sends us data containing + the interests listed in an agents profile + + + Raised when the simulator sends us data containing + profile property information for an agent + + + Raised when the simulator sends us data containing + the group membership an agent is a member of + + + Raised when the simulator sends us data containing + name/id pair + + + Raised when the simulator sends us data containing + the objects and effect when an agent is pointing at + + + Raised when the simulator sends us data containing + the objects and effect when an agent is looking at + + + Raised when the simulator sends us data containing + an agents viewer effect information + + + Raised when the simulator sends us data containing + the top picks from an agents profile + + + Raised when the simulator sends us data containing + the Pick details + + + Raised when the simulator sends us data containing + the classified ads an agent has placed + + + Raised when the simulator sends us data containing + the details of a classified ad + + + Provides data for the event + The event occurs when the simulator sends + the animation playlist for an agent + + The following code example uses the and + properties to display the animation playlist of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; + + private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) + { + // create a dictionary of "known" animations from the Animations class using System.Reflection + Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); + Type type = typeof(Animations); + System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); + foreach (System.Reflection.FieldInfo field in fields) + { + systemAnimations.Add((UUID)field.GetValue(type), field.Name); + } + + // find out which animations being played are known animations and which are assets + foreach (Animation animation in e.Animations) + { + if (systemAnimations.ContainsKey(animation.AnimationID)) + { + Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, + systemAnimations[animation.AnimationID], animation.AnimationSequence); + } + else + { + Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, + animation.AnimationID, animation.AnimationSequence); + } + } + } + + - + - The 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. - + Construct a new instance of the AvatarAnimationEventArgs class - Key - Value + The ID of the agent + The list of animations to start - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking - on this member + + Get the ID of the agent - - - 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>(); - - + + Get the list of animations to start - - - 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 + + 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. - // 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"); + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - // Initialize new dictionary. - public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); + // 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") + } - + - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. + Construct a new instance of the AvatarAppearanceEventArgs class - 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 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 - - - 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); - - - + + Get the Simulator this request is from of the agent - - - Finds the specified match. - - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - + + Get the ID of the agent - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - - + + true if the agent is a trial account - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - - + + Get the default agent texture - - Perform an on each entry in an - to perform - - - // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. - Client.Network.CurrentSim.ObjectsPrimitives.ForEach( - delegate(Primitive prim) - { - if (prim.Text != null) - { - Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", - prim.PropertiesFamily.Name, prim.ID, prim.Text); - } - }); - - + + Get the agents appearance layer textures - - Perform an on each key of an - to perform + + Get the for the agent - - - Perform an on each KeyValuePair of an - - to perform + + Represents the interests from the profile of an agent - - Check if Key exists in Dictionary - Key to check for - if found, otherwise + + Get the ID of the agent - - Check if Value exists in Dictionary - Value to check for - if found, otherwise + + The properties of an agent - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - - The key - The value + + Get the ID of the agent - - - Removes the specified key, dictionary locking is not performed - - The key. - if successful, otherwise + + Get the ID of the agent - - - Gets the number of Key/Value pairs contained in the - + + Get the ID of the agent - - - Indexer for the dictionary - - The key - The value + + Get the ID of the avatar diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index f5952b4..69c4e9b 100644 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.XML b/bin/OpenMetaverseTypes.XML index c61d91a..befc8d4 100644 --- a/bin/OpenMetaverseTypes.XML +++ b/bin/OpenMetaverseTypes.XML @@ -4,2599 +4,2599 @@ OpenMetaverseTypes - + - A 128-bit Universally Unique Identifier, used throughout the Second - Life networking protocol + A three-dimensional vector with doubleing-point values - - The System.Guid object this struct wraps around + + X value - - - 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") + + Y value - - - Constructor that takes a System.Guid object - - A Guid object that contains the unique identifier - to be represented by this UUID + + Z value - + - Constructor that takes a byte array containing a UUID + Constructor, builds a vector from a byte array - Byte array containing a 16 byte UUID - Beginning offset in the array + Byte array containing three eight-byte doubles + Beginning position in the byte array - + - Constructor that takes an unsigned 64-bit unsigned integer to - convert to a UUID + Test if this vector is equal to another vector, within a given + tolerance range - 64-bit unsigned integer to convert to a 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 - + - Copy constructor + IComparable.CompareTo implementation - UUID to copy - + - IComparable.CompareTo implementation + Test if this vector is composed of all finite numbers - + - Assigns this UUID from 16 bytes out of a byte array + Builds a vector from a byte array - Byte array containing the UUID to assign this UUID to - Starting position of the UUID in the byte array + Byte array containing a 24 byte vector + Beginning position in the byte array - + - Returns a copy of the raw bytes for this UUID + Returns the raw bytes for this vector - A 16 byte array containing this UUID + A 24 byte array containing X, Y, and Z - + - Writes the raw bytes for this UUID to a byte array + 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 - - - - 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 + writing. Must be at least 24 bytes before the end of the array - + - Generate a UUID from a string + Parse a vector 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") + A string representation of a 3D vector, enclosed + in arrow brackets and separated by commas - + - Generate a UUID from a string + Interpolates between two vectors using a cubic equation - 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 + Get a formatted string representation of the vector - First UUID to combine - Second UUID to combine - The UUID product of the combination + 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 - + - Return a hash code for this UUID, used by .NET for hash tables + Cross product between two vectors - An integer composed of all the UUID bytes XORed together - - - Comparison function - - An object to compare to this UUID - True if the object is a UUID and both UUIDs are equal + + A vector with a value of 0,0,0 - - - Comparison function - - UUID to compare to - True if the UUIDs are equal, otherwise false + + A vector with a value of 1,1,1 - - - Get a hyphenated string representation of this UUID - - A string representation of this UUID, lowercase and - with hyphens - 11f8aa9c-b071-4242-836b-13b7abe0d489 + + A unit vector facing forward (X axis), value of 1,0,0 - - - Equals operator - - First UUID for comparison - Second UUID for comparison - True if the UUIDs are byte for byte equal, otherwise false + + A unit vector facing left (Y axis), value of 0,1,0 - - - Not equals operator - - First UUID for comparison - Second UUID for comparison - True if the UUIDs are not equal, otherwise true + + A unit vector facing up (Z axis), value of 0,0,1 - + - XOR operator + Attribute class that allows extra attributes to be attached to ENUMs - First UUID - Second UUID - A UUID that is a XOR combination of the two input UUIDs - - - String typecasting operator - - A UUID in string form. Case insensitive, - hyphenated or non-hyphenated - A UUID built from the string representation + + Text used when presenting ENUM to user - - An UUID with a value of all zeroes + + Default initializer - - A cache of UUID.Zero as a string to optimize a common path + + Text used when presenting ENUM to user - + - Convert this matrix to euler rotations + The different types of grid assets - X euler angle - Y euler angle - Z euler angle - - - Convert this matrix to a quaternion rotation - - A quaternion representation of this rotation matrix + + Unknown asset type - - - Construct a matrix from euler rotation values in radians - - X euler angle in radians - Y euler angle in radians - Z euler angle in radians + + Texture asset, stores in JPEG2000 J2C stream format - - - Get a formatted string representation of the vector - - A string representation of the vector + + Sound asset - - A 4x4 matrix containing all zeroes + + Calling card for another avatar - - A 4x4 identity matrix + + Link to a location in world - - - An 8-bit color structure including an alpha channel - + + Collection of textures and parameters that can be + worn by an avatar - - Red + + Primitive that can contain textures, sounds, + scripts and more - - Green + + Notecard asset - - Blue + + Holds a collection of inventory items - - Alpha + + 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 + + + Root folder for the folders of type OutfitFolder + + + Linden mesh format + + - + Inventory Item Types, eg Script, Notecard, Folder, etc - - - - - + + Unknown + + + Texture + + + Sound + + + Calling Card + + + Landmark + + + Notecard + + + + + + Folder + + + + + + an LSL Script + + + + + + + + + + + + + + + + + + + + - Builds a color from a byte array + Item Sale Status - 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 - + + Not for sale + + + The original is for sale + + + Copies are for sale + + + The contents of the object are for sale + + - Returns the raw bytes for this vector + Types of wearable assets - 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 - + + Body shape + + + Skin textures and attributes + + + Hair + + + Eyes + + + Shirt + + + Pants + + + Shoes + + + Socks + + + Jacket + + + Gloves + + + Undershirt + + + Underpants + + + Skirt + + + Alpha mask to hide parts of the avatar + + + Tattoo + + + Invalid wearable asset + + - Copy constructor + A hierarchical token bucket for bandwidth throttling. See + http://en.wikipedia.org/wiki/Token_bucket for more information - Color to copy - + + 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 + + - IComparable.CompareTo implementation + Default constructor - Sorting ends up like this: |--Grayscale--||--Color--|. - Alpha is only used when the colors are otherwise equivalent + 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 - + - Builds a color from a byte array + Remove a given number of tokens from the bucket - 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 + Number of tokens to remove from the bucket + True if the requested number of tokens were removed from + the bucket, otherwise false - + - Writes the raw bytes for this color to a byte array + Remove a given number of tokens from the bucket - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array + 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 - + - Serializes this color into four bytes in a byte array + Add tokens to the bucket over time. The number of tokens added each + call depends on the length of time that has passed since the last + call to Drip - 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) + True if tokens were added to the bucket, otherwise false - + - Writes the raw bytes for this color to a byte 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 - 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 + Maximum burst rate in bytes per second. This is the maximum number + of tokens that can accumulate in the bucket at any one time - + - Create an RGB color from a hue, saturation, value combination + The speed limit of this bucket in bytes per second. This is the + number of tokens that are added to the bucket per second - Hue - Saturation - Value - An fully opaque RGB color (alpha is 1.0) + Tokens are added to the bucket any time + is called, at the granularity of + the system tick interval (typically around 15-22ms) - + - Performs linear interpolation between two colors + 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 - 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) - - + - Copy constructor + A thread-safe lockless queue that supports multiple readers and + multiple writers - Circular queue to copy - - X value - - - Y value + + Queue head - - Z value + + Queue tail - - W value + + Queue item count - + - Constructor, builds a vector from a byte array + Constructor - 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 + Enqueue an item - 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 + Item to enqeue - + - IComparable.CompareTo implementation + Try to dequeue an item + Dequeued item if the dequeue was successful + True if an item was successfully deqeued, otherwise false - - - Test if this vector is composed of all finite numbers - + + Gets the current number of items in the queue. Since this + is a lockless collection this value should be treated as a close + estimate - + - Builds a vector from a byte array + Provides a node container for data in a singly linked list - Byte array containing a 16 byte vector - Beginning position in the byte array - + + Pointer to the next node in list + + + The data contained by the node + + - Returns the raw bytes for this vector + Constructor - A 16 byte array containing X, Y, Z, and W - + - Writes the raw bytes for this vector to a byte array + Constructor - 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 + An 8-bit color structure including an alpha channel - 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 + + Red - - A vector with a value of 0,1,0,0 + + Green - - A vector with a value of 0,0,1,0 + + Blue - - A vector with a value of 0,0,0,1 + + Alpha - + - A three-dimensional vector with doubleing-point values + + + + + - - X value - - - Y value - - - Z value - - + - Constructor, builds a vector from a byte array + Builds a color from a byte array - Byte array containing three eight-byte doubles + 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 - + - Test if this vector is equal to another vector, within a given - tolerance range + Returns the raw bytes for this vector - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false + Byte array 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 - + - IComparable.CompareTo implementation + Copy constructor + Color to copy - + - Test if this vector is composed of all finite numbers + IComparable.CompareTo implementation + Sorting ends up like this: |--Grayscale--||--Color--|. + Alpha is only used when the colors are otherwise equivalent - + - Builds a vector from a byte array + Builds a color from a byte array - Byte array containing a 24 byte 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 - - - Returns the raw bytes for this vector - - A 24 byte array containing X, Y, and Z - - + - Writes the raw bytes for this vector to a byte array + 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 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 + writing. Must be at least 16 bytes before the end of the array - + - Interpolates between two vectors using a cubic equation + Serializes this color into four bytes in a byte array + Destination byte array + Position in the destination array to start + writing. Must be at least 4 bytes before the end of the array + True to invert the output (1.0 becomes 0 + instead of 255) - + - Get a formatted string representation of the vector + Writes the raw bytes for this color to a byte array - A 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 - + - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only + Ensures that values are in range 0-1 - Raw string representation of the vector - + - Cross product between two vectors + 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 - - - 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 - - + - A three-dimensional vector with floating-point values + Performs linear interpolation between two colors + Color to start at + Color to end at + Amount to interpolate + The interpolated color - - X value - - - Y value - - - Z value + + A Color4 with zero RGB values and fully opaque (alpha 1.0) - - - Constructor, builds a vector from a byte array - - Byte array containing three four-byte floats - Beginning position in the byte array + + A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) - + - Test if this vector is equal to another vector, within a given - tolerance range + Determines the appropriate events to set, leaves the locks, and sets the events. - 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 + 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' - + - Test if this vector is composed of all finite numbers + Waits on 'waitEvent' with a timeout of 'millisceondsTimeout. + Before the wait 'numWaiters' is incremented and is restored before leaving this routine. - + - Builds a vector from a byte array + Copy constructor - Byte array containing a 12 byte vector - Beginning position in the byte array + Circular queue to copy - + - Returns the raw bytes for this vector + A 128-bit Universally Unique Identifier, used throughout the Second + Life networking protocol - A 12 byte array containing X, Y, and Z - - - Writes the raw bytes for this vector to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 12 bytes before the end of the array + + The System.Guid object this struct wraps around - + - Parse a vector from a string + Constructor that takes a string UUID representation - A string representation of a 3D vector, enclosed - in arrow brackets and separated by commas + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + UUID("11f8aa9c-b071-4242-836b-13b7abe0d489") - + - Calculate the rotation between two vectors + Constructor that takes a System.Guid object - Normalized directional vector (such as 1,0,0 for forward facing) - Normalized target vector + A Guid object that contains the unique identifier + to be represented by this UUID - + - Interpolates between two vectors using a cubic equation + Constructor that takes a byte array containing a UUID + Byte array containing a 16 byte UUID + Beginning offset in the array - + - Get a formatted string representation of the vector + Constructor that takes an unsigned 64-bit unsigned integer to + convert to a UUID - A string representation of the vector + 64-bit unsigned integer to convert to a UUID - + - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only + Copy constructor - Raw string representation of the vector + UUID to copy - + - Cross product between two vectors + IComparable.CompareTo implementation - - 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 - - - Used for converting degrees to radians - - - Used for converting radians to degrees - - + - Convert the first two bytes starting in the byte array in - little endian ordering to a signed short integer + Assigns this UUID from 16 bytes out of a byte array - An array two bytes or longer - A signed short integer, will be zero if a short can't be - read at the given position + Byte array containing the UUID to assign this UUID to + Starting position of the UUID in the byte array - + - Convert the first two bytes starting at the given position in - little endian ordering to a signed short integer + Returns a copy of the raw bytes for this UUID - 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 + A 16 byte array containing this UUID - + - Convert the first four bytes starting at the given position in - little endian ordering to a signed integer + Writes the raw bytes for this UUID to a byte array - 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 + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array - + - Convert the first four bytes of the given array in little endian - ordering to a signed integer + Calculate an LLCRC (cyclic redundancy check) for this UUID - An array four bytes or longer - A signed integer, will be zero if the array contains - less than four bytes + The CRC checksum for this UUID - + - Convert the first eight bytes of the given array in little endian - ordering to a signed long integer + Create a 64-bit integer representation from the second half of this UUID - An array eight bytes or longer - A signed long integer, will be zero if the array contains - less than eight bytes + An integer created from the last eight bytes of this UUID - + - Convert the first eight bytes starting at the given position in - little endian ordering to a signed long integer + Generate a UUID from a string - 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 + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489") - + - Convert the first two bytes starting at the given position in - little endian ordering to an unsigned short + Generate a UUID from a string - 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 + 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 two bytes in little endian ordering to an unsigned short + Combine two UUIDs together by taking the MD5 hash of a byte array + containing both UUIDs - Byte array containing the ushort - An unsigned short, will be zero if a ushort can't be - read + First UUID to combine + Second UUID to combine + The UUID product of the combination - + - 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 + Return a hash code for this UUID, used by .NET for hash tables - An array four bytes or longer - An unsigned integer, will be zero if the array contains - less than four bytes + An integer composed of all the UUID bytes XORed together - + - Convert the first eight bytes of the given array in little endian - ordering to an unsigned 64-bit integer + Comparison function - An array eight bytes or longer - An unsigned 64-bit integer, will be zero if the array - contains less than eight bytes + An object to compare to this UUID + True if the object is a UUID and both UUIDs are equal - + - Convert four bytes in little endian ordering to a floating point - value + Comparison function - Byte array containing a little ending floating - point value - Starting position of the floating point value in - the byte array - Single precision value + UUID to compare to + True if the UUIDs are equal, otherwise false - + - Convert an integer to a byte array in little endian format + Get a hyphenated string representation of this UUID - The integer to convert - A four byte little endian array + A string representation of this UUID, lowercase and + with hyphens + 11f8aa9c-b071-4242-836b-13b7abe0d489 - + - Convert an integer to a byte array in big endian format + Equals operator - The integer to convert - A four byte big endian array + First UUID for comparison + Second UUID for comparison + True if the UUIDs are byte for byte equal, otherwise false - + - Convert a 64-bit integer to a byte array in little endian format + Not equals operator - The value to convert - An 8 byte little endian array + First UUID for comparison + Second UUID for comparison + True if the UUIDs are not equal, otherwise true - + - Convert a 64-bit unsigned integer to a byte array in little endian - format + XOR operator - The value to convert - An 8 byte little endian array + First UUID + Second UUID + A UUID that is a XOR combination of the two input UUIDs - + - Convert a floating point value to four bytes in little endian - ordering + String typecasting operator - A floating point value - A four byte array containing the value in little endian - ordering + A UUID in string form. Case insensitive, + hyphenated or non-hyphenated + A UUID built from the string representation - + + An UUID with a value of all zeroes + + + A cache of UUID.Zero as a string to optimize a common path + + + Used for converting degrees to radians + + + Used for converting radians to degrees + + + Provide a single instance of the CultureInfo class to + help parsing in situations where the grid assumes an en-us + culture + + + UNIX epoch in DateTime format + + + Provide a single instance of the MD5 class to avoid making + duplicate copies and handle thread safety + + + Provide a single instance of the SHA-1 class to avoid + making duplicate copies and handle thread safety + + + Provide a single instance of a random number generator + to avoid making duplicate copies and handle thread safety + + - Converts an unsigned integer to a hexadecimal string + Clamp a given value between a range - An unsigned integer to convert to a string - A hexadecimal string 10 characters long - 0x7fffffff + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper - + - Convert a variable length UTF8 byte array to a string + Clamp a given value between a range - The UTF8 encoded byte array to convert - The decoded string + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper - + - Converts a byte array to a string containing hexadecimal characters + Clamp a given value between a range - 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 + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper - + - Converts a byte array to a string containing hexadecimal characters + Round a floating-point value to the nearest integer - 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 + Floating point number to round + Integer - + - Convert a string to a UTF8 encoded byte array + Test if a single precision float is a finite number - The string to convert - A null-terminated UTF8 byte array - + - Converts a string containing hexadecimal characters to a byte array + Test if a double precision float is a finite number - 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) + Get the distance between two floating-point values - Character to test - true if hex digit, false if not + First value + Second value + The distance between the two values - + - Converts 1 or 2 character string into equivalant byte value + Compute the MD5 hash for a byte array - 1 or 2 character string - byte + Byte array to compute the hash for + MD5 hash of the input data - + - Convert a float value to a byte given a minimum and maximum range + Compute the SHA1 hash for 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 to compute the hash for + SHA1 hash of the input data - + - Convert a byte to a float value given a minimum and maximum range + Calculate the SHA1 hash of a given string - Byte array to get the byte from - Position in the byte array the desired byte is at - Minimum value range - Maximum value range - A float value inclusively between lower and upper + The string to hash + The SHA1 hash as a string - + - Convert a byte to a float value given a minimum and maximum range + Compute the SHA256 hash for a byte array - Byte to convert to a float value - Minimum value range - Maximum value range - A float value inclusively between lower and upper + Byte array to compute the hash for + SHA256 hash of the input data - + - Attempts to parse a floating point value from a string, using an - EN-US number format + Calculate the SHA256 hash of a given string - String to parse - Resulting floating point number - True if the parse was successful, otherwise false + The string to hash + The SHA256 hash as a string - + - Attempts to parse a floating point value from a string, using an - EN-US number format + Calculate the MD5 hash of a given string - String to parse - Resulting floating point number - True if the parse was successful, otherwise false + The password to hash + An MD5 hash in string format, with $1$ prepended - + - Tries to parse an unsigned 32-bit integer from a hexadecimal string + Calculate the MD5 hash of a given string - String to parse - Resulting integer - True if the parse was successful, otherwise false + The string to hash + The MD5 hash as a string - + - 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 + Generate a random double precision floating point value - Enum value - Text representation of the enum + Random value of type double - + - Takes an AssetType and returns the string representation + Get the current running platform - The source - The string version of the AssetType + Enumeration of the current platform we are running on - + - Translate a string name of an AssetType into the proper Type + Get the current running runtime - A string containing the AssetType name - The AssetType which matches the string name, or AssetType.Unknown if no match was found + Enumeration of the current runtime we are running on - + - Convert an InventoryType to a string + Convert the first two bytes starting in the byte array in + little endian ordering to a signed short integer - The to convert - A string representation of the source + 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 string into a valid InventoryType + Convert the first two bytes starting at the given position in + little endian ordering to a signed short integer - A string representation of the InventoryType to convert - A InventoryType object which matched the type + 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 a SaleType to a string + Convert the first four bytes starting at the given position in + little endian ordering to a signed integer - The to convert - A string representation of the source + 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 a string into a valid SaleType + Convert the first four bytes of the given array in little endian + ordering to a signed integer - A string representation of the SaleType to convert - A SaleType object which matched the type + An array four bytes or longer + A signed integer, will be zero if the array contains + less than four bytes - + - Converts a string used in LLSD to AttachmentPoint type + Convert the first eight bytes of the given array in little endian + ordering to a signed long integer - String representation of AttachmentPoint to convert - AttachmentPoint enum + An array eight bytes or longer + A signed long integer, will be zero if the array contains + less than eight bytes - + - Copy a byte array + Convert the first eight bytes starting at the given position in + little endian ordering to a signed long integer - Byte array to copy - A copy of the given 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 - + - Packs to 32-bit unsigned integers in to a 64-bit unsigned integer + Convert the first two bytes starting at the given position in + little endian ordering to an unsigned short - The left-hand (or X) value - The right-hand (or Y) value - A 64-bit integer containing the two 32-bit input values + 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 - + - Unpacks two 32-bit unsigned integers from a 64-bit unsigned integer + Convert two bytes in little endian ordering to an unsigned short - The 64-bit input integer - The left-hand (or X) output value - The right-hand (or Y) output value + Byte array containing the ushort + An unsigned short, will be zero if a ushort can't be + read - + - Convert an IP address object to an unsigned 32-bit integer + Convert the first four bytes starting at the given position in + little endian ordering to an unsigned integer - IP address to convert - 32-bit unsigned integer holding the IP address bits + 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 - + - Gets a unix timestamp for the current time + Convert the first four bytes of the given array in little endian + ordering to an unsigned integer - An unsigned integer representing a unix timestamp for now + An array four bytes or longer + An unsigned integer, will be zero if the array contains + less than four bytes - + - Convert a UNIX timestamp to a native DateTime object + Convert the first eight bytes of the given array in little endian + ordering to an unsigned 64-bit integer - An unsigned integer representing a UNIX - timestamp - A DateTime object containing the same time specified in - the given timestamp + An array eight bytes or longer + An unsigned 64-bit integer, will be zero if the array + contains less than eight bytes - + - Convert a UNIX timestamp to a native DateTime object + Convert four bytes in little endian ordering to a floating point + value - A signed integer representing a UNIX - timestamp - A DateTime object containing the same time specified in - the given timestamp + Byte array containing a little ending floating + point value + Starting position of the floating point value in + the byte array + Single precision value - + - Convert a native DateTime object to a UNIX timestamp + Convert an integer to a byte array in little endian format - A DateTime object you want to convert to a - timestamp - An unsigned integer representing a UNIX timestamp + The integer to convert + A four byte little endian array - + - Swap two values + Convert an integer to a byte array in big endian format - Type of the values to swap - First value - Second value + The integer to convert + A four byte big endian array - + - Try to parse an enumeration value from a string + Convert a 64-bit integer to a byte array in little endian format - Enumeration type - String value to parse - Enumeration value on success - True if the parsing succeeded, otherwise false + The value to convert + An 8 byte little endian array - + - Swaps the high and low words in a byte. Converts aaaabbbb to bbbbaaaa + Convert a 64-bit unsigned integer to a byte array in little endian + format - Byte to swap the words in - Byte value with the words swapped + The value to convert + An 8 byte little endian array - + - Attempts to convert a string representation of a hostname or IP - address to a + Convert a floating point value to four bytes in little endian + ordering - 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 + A floating point value + A four byte array containing the value in little endian + ordering - - Provide a single instance of a random number generator - to avoid making duplicate copies and handle thread safety + + + Converts an unsigned integer to a hexadecimal string + + An unsigned integer to convert to a string + A hexadecimal string 10 characters long + 0x7fffffff - + - Clamp a given value between a range + Convert a variable length UTF8 byte array to a string - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper + The UTF8 encoded byte array to convert + The decoded string - + - Clamp a given value between a range + Converts a byte array to a string containing hexadecimal characters - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper + 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 - + - Clamp a given value between a range + Converts a byte array to a string containing hexadecimal characters - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper + 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 - + - Round a floating-point value to the nearest integer + Convert a string to a UTF8 encoded byte array - Floating point number to round - Integer + The string to convert + A null-terminated UTF8 byte array - + - Test if a single precision float is a finite number + 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 - + - Test if a double precision float is a finite number + Returns true is c is a hexadecimal digit (A-F, a-f, 0-9) + Character to test + true if hex digit, false if not - + - Get the distance between two floating-point values + Converts 1 or 2 character string into equivalant byte value - First value - Second value - The distance between the two values + 1 or 2 character string + byte - + - Compute the MD5 hash for a byte array + Convert a float value to a byte given a minimum and maximum range - Byte array to compute the hash for - MD5 hash of the input data + Value to convert to a byte + Minimum value range + Maximum value range + A single byte representing the original float value - + - Compute the SHA1 hash for a byte array + Convert a byte to a float value given a minimum and maximum range - Byte array to compute the hash for - SHA1 hash of the input data + 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 - + - Calculate the SHA1 hash of a given string + Convert a byte to a float value given a minimum and maximum range - The string to hash - The SHA1 hash as a string + Byte to convert to a float value + Minimum value range + Maximum value range + A float value inclusively between lower and upper - + - Compute the SHA256 hash for a byte array + Attempts to parse a floating point value from a string, using an + EN-US number format - Byte array to compute the hash for - SHA256 hash of the input data + String to parse + Resulting floating point number + True if the parse was successful, otherwise false - + - Calculate the SHA256 hash of a given string + Attempts to parse a floating point value from a string, using an + EN-US number format - The string to hash - The SHA256 hash as a string + String to parse + Resulting floating point number + True if the parse was successful, otherwise false - + - Calculate the MD5 hash of a given string + Tries to parse an unsigned 32-bit integer from a hexadecimal string - The password to hash - An MD5 hash in string format, with $1$ prepended + String to parse + Resulting integer + True if the parse was successful, otherwise false - + - Calculate the MD5 hash of a given string + 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 string to hash - The MD5 hash as a string + Enum value + Text representation of the enum - + - Generate a random double precision floating point value + Takes an AssetType and returns the string representation - Random value of type double + The source + The string version of the AssetType - + - Get the current running platform + Translate a string name of an AssetType into the proper Type - Enumeration of the current platform we are running on + A string containing the AssetType name + The AssetType which matches the string name, or AssetType.Unknown if no match was found - + - Get the current running runtime + Convert an InventoryType to a string - Enumeration of the current runtime we are running on + The to convert + A string representation of the source - + - Operating system + Convert a string into a valid InventoryType + A string representation of the InventoryType to convert + A InventoryType object which matched the type - - Unknown - - - Microsoft Windows - - - Microsoft Windows CE - - - Linux - - - Apple OSX - - + - Runtime platform + Convert a SaleType to a string + The to convert + A string representation of the source - - .NET runtime - - - Mono runtime: http://www.mono-project.com/ + + + Convert a string into a valid SaleType + + A string representation of the SaleType to convert + A SaleType object which matched the type - + - A two-dimensional vector with floating-point values + Converts a string used in LLSD to AttachmentPoint type + String representation of AttachmentPoint to convert + AttachmentPoint enum - - X value + + + Copy a byte array + + Byte array to copy + A copy of the given byte array - - Y value + + + 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 - + - Test if this vector is equal to another vector, within a given - tolerance range + Unpacks two 32-bit unsigned integers from a 64-bit unsigned integer - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false + The 64-bit input integer + The left-hand (or X) output value + The right-hand (or Y) output value - + - Test if this vector is composed of all finite numbers + Convert an IP address object to an unsigned 32-bit integer + IP address to convert + 32-bit unsigned integer holding the IP address bits - + - IComparable.CompareTo implementation + Gets a unix timestamp for the current time + An unsigned integer representing a unix timestamp for now - + - Builds a vector from a byte array + Convert a UNIX timestamp to a native DateTime object - Byte array containing two four-byte floats - Beginning position in the byte array + An unsigned integer representing a UNIX + timestamp + A DateTime object containing the same time specified in + the given timestamp - + - Returns the raw bytes for this vector + Convert a UNIX timestamp to a native DateTime object - An eight-byte array containing X and Y + A signed integer representing a UNIX + timestamp + A DateTime object containing the same time specified in + the given timestamp - + - Writes the raw bytes for this vector to a byte array + Convert a native DateTime object to a UNIX timestamp - Destination byte array - Position in the destination array to start - writing. Must be at least 8 bytes before the end of the array + A DateTime object you want to convert to a + timestamp + An unsigned integer representing a UNIX timestamp - + - Parse a vector from a string + Swap two values - A string representation of a 2D vector, enclosed - in arrow brackets and separated by commas + Type of the values to swap + First value + Second value - + - Interpolates between two vectors using a cubic equation + 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 - + - Get a formatted string representation of the vector + Swaps the high and low words in a byte. Converts aaaabbbb to bbbbaaaa - A string representation of the vector + Byte to swap the words in + Byte value with the words swapped - + - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only + Attempts to convert a string representation of a hostname or IP + address to a - 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 + Hostname to convert to an IPAddress + Converted IP address object, or null if the conversion + failed - + - Identifier code for primitive types + Operating system - - None - - - A Primitive - - - A Avatar + + Unknown - - Linden grass + + Microsoft Windows - - Linden tree + + Microsoft Windows CE - - A primitive that acts as the source for a particle stream + + Linux - - A Linden tree + + Apple OSX - + - Primary parameters for primitives such as Physics Enabled or Phantom + Runtime platform - - 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. + + .NET runtime - - Server flag, will not be sent to client. Specifies that - the object is hovering/flying + + Mono runtime: http://www.mono-project.com/ - - + + X value - - + + Y value - - + + Z value - - + + W value - + - Sound flags for sounds attached to primitives + 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. - + - Material type for a primitive + 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 + - + - Used in a helper function to roughly determine prim shape + Build a quaternion from an axis and an angle of rotation around + that axis + Axis of rotation + Angle of rotation - + - Extra parameters for primitives, these flags are for features that have - been added after the original ObjectFlags that has all eight bits - reserved already + 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 - - Whether this object has flexible parameters + + + 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 - - Whether this object has light parameters + + + Conjugates and renormalizes a vector + - - Whether this object is a sculpted prim + + + 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. + + The System.Collections.ICollection to copy elements from - + - + Create new BlockingQueue. + The initial number of elements that the queue can contain - - + + + Create new BlockingQueue. + - - + + + BlockingQueue Destructor (Close queue, resume any waiting thread). + - - + + + Remove all objects from the Queue. + - - + + + Remove all objects from the Queue, resume all dequeue threads. + - - + + + Removes and returns the object at the beginning of the Queue. + + Object in queue. - - + + + Removes and returns the object at the beginning of the Queue. + + time to wait before returning + Object in queue. - - + + + Removes and returns the object at the beginning of the Queue. + + time to wait before returning (in milliseconds) + Object in queue. - - + + + Adds an object to the end of the Queue + + Object to put in queue - + - + Open Queue. - - + + + Gets flag indicating if queue has been closed. + - - + + + 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 - - + + + Convert this matrix to euler rotations + + X euler angle + Y euler angle + Z euler angle - + - + Convert this matrix to a quaternion rotation + A quaternion representation of this rotation matrix - - + + + Construct a matrix from euler rotation values in radians + + X euler angle in radians + Y euler angle in radians + Z euler angle in radians - - + + + Get a formatted string representation of the vector + + A string representation of the vector - - + + A 4x4 matrix containing all zeroes - - + + A 4x4 identity matrix - - + + X value - - + + Y value - - + + Z value - - - Attachment points for objects on avatar bodies - - - Both InventoryObject and InventoryAttachment types can be attached - + + W value - - Right hand if object was not previously attached + + + Constructor, builds a vector from a byte array + + Byte array containing four four-byte floats + Beginning position in the byte array - - Chest + + + 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 - - Skull + + + IComparable.CompareTo implementation + - - Left shoulder + + + Test if this vector is composed of all finite numbers + - - Right shoulder + + + Builds a vector from a byte array + + Byte array containing a 16 byte vector + Beginning position in the byte array - - Left hand + + + Returns the raw bytes for this vector + + A 16 byte array containing X, Y, Z, and W - - Right hand + + + 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 - - Left foot + + + 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 - - Right foot + + A vector with a value of 0,0,0,0 - - Spine + + A vector with a value of 1,1,1,1 - - Pelvis + + A vector with a value of 1,0,0,0 - - Mouth + + A vector with a value of 0,1,0,0 - - Chin + + A vector with a value of 0,0,1,0 - - Left ear + + A vector with a value of 0,0,0,1 - - Right ear + + For thread safety - - Left eyeball + + For thread safety - - Right eyeball + + + Purges expired objects from the cache. Called automatically by the purge timer. + - - Nose + + + A three-dimensional vector with floating-point values + - - Right upper arm + + X value - - Right forearm + + Y value - - Left upper arm + + Z value - - Left forearm + + + Constructor, builds a vector from a byte array + + Byte array containing three four-byte floats + Beginning position in the byte array - - Right hip + + + 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 - - Right upper leg + + + IComparable.CompareTo implementation + - - Right lower leg + + + Test if this vector is composed of all finite numbers + - - Left hip + + + Builds a vector from a byte array + + Byte array containing a 12 byte vector + Beginning position in the byte array - - Left upper leg + + + Returns the raw bytes for this vector + + A 12 byte array containing X, Y, and Z - - Left lower leg + + + 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 - - Stomach + + + Parse a vector from a string + + A string representation of a 3D vector, enclosed + in arrow brackets and separated by commas - - Left pectoral + + + Calculate the rotation between two vectors + + Normalized directional vector (such as 1,0,0 for forward facing) + Normalized target vector - - Right pectoral + + + Interpolates between two vectors using a cubic equation + - - HUD Center position 2 + + + Get a formatted string representation of the vector + + A string representation of the vector - - HUD Top-right + + + 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 - - HUD Top + + + Cross product between two vectors + - - HUD Top-left + + A vector with a value of 0,0,0 - - HUD Center + + A vector with a value of 1,1,1 - - HUD Bottom-left + + A unit vector facing forward (X axis), value 1,0,0 - - HUD Bottom + + A unit vector facing left (Y axis), value 0,1,0 - - HUD Bottom-right + + A unit vector facing up (Z axis), value 0,0,1 - + - Tree foliage types + Identifier code for primitive types - - Pine1 tree + + None - - Oak tree + + A Primitive - - Tropical Bush1 + + A Avatar - - Palm1 tree + + Linden grass - - Dogwood tree + + Linden tree - - Tropical Bush2 + + A primitive that acts as the source for a particle stream - - Palm2 tree + + A Linden tree - - Cypress1 tree + + + Primary parameters for primitives such as Physics Enabled or Phantom + - - Cypress2 tree + + Deprecated - - Pine2 tree + + Whether physics are enabled for this object - - Plumeria + + - - Winter pinetree1 + + - - Winter Aspen tree + + - - Winter pinetree2 + + - - Eucalyptus tree + + - - Fern + + - - Eelgrass + + Whether this object contains an active touch script - - Sea Sword + + - - Kelp1 plant + + Whether this object can receive payments - - Beach grass + + Whether this object is phantom (no collisions) - - Kelp2 plant + + - - - Grass foliage types - + + - + - + - + + Deprecated + + - + - + - + + Deprecated + + - - - Action associated with clicking on an object - + + - - Touch object + + - - Sit on object + + - - Purchase object or contents + + Server flag, will not be sent to clients. Specifies that + the object is destroyed when it touches a simulator edge - - Pay the object + + 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 - - Open task inventory + + Server flag, will not be sent to clients. - - Play parcel media + + Server flag, will not be sent to client. Specifies that + the object is hovering/flying - - Open parcel media + + - - - Same as Queue except Dequeue function blocks until there is an object to return. - Note: This class does not need to be synchronized - + + - - - Create new BlockingQueue. - - The System.Collections.ICollection to copy elements from + + - - - Create new BlockingQueue. - - The initial number of elements that the queue can contain + + - + - Create new BlockingQueue. + Sound flags for sounds attached to primitives - - - BlockingQueue Destructor (Close queue, resume any waiting thread). - + + - - - Remove all objects from the Queue. - + + - - - Remove all objects from the Queue, resume all dequeue threads. - + + - - - Removes and returns the object at the beginning of the Queue. - - Object in queue. + + - - - Removes and returns the object at the beginning of the Queue. - - time to wait before returning - Object in queue. + + - - - Removes and returns the object at the beginning of the Queue. - - time to wait before returning (in milliseconds) - Object in queue. + + - - - Adds an object to the end of the Queue - - Object to put in queue + + - + - Open Queue. + Material type for a primitive - - - Gets flag indicating if queue has been closed. - + + - - - Determines the appropriate events to set, leaves the locks, and sets the events. - + + - - - A routine for lazily creating a event outside the lock (so if errors - happen they are outside the lock and that we don't do much work - while holding a spin lock). If all goes well, reenter the lock and - set 'waitEvent' - + + - - - Waits on 'waitEvent' with a timeout of 'millisceondsTimeout. - Before the wait 'numWaiters' is incremented and is restored before leaving this routine. - + + - - For thread safety + + - - For thread safety + + - + + + + + + + - Purges expired objects from the cache. Called automatically by the purge timer. + Used in a helper function to roughly determine prim shape - + - Attribute class that allows extra attributes to be attached to ENUMs + Extra parameters for primitives, these flags are for features that have + been added after the original ObjectFlags that has all eight bits + reserved already - - Text used when presenting ENUM to user + + Whether this object has flexible parameters - - Default initializer + + Whether this object has light parameters - - Text used when presenting ENUM to user + + Whether this object is a sculpted prim - + - 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 + + - - Root folder for the folders of type OutfitFolder + + + Attachment points for objects on avatar bodies + + + Both InventoryObject and InventoryAttachment types can be attached + - - Linden mesh format + + Right hand if object was not previously attached - - - Inventory Item Types, eg Script, Notecard, Folder, etc - + + Chest - - Unknown + + Skull - - Texture + + Left shoulder - - Sound + + Right shoulder - - Calling Card + + Left hand - - Landmark + + Right hand - - Notecard + + Left foot - - + + Right foot - - Folder + + Spine - - + + Pelvis - - an LSL Script + + Mouth - - + + Chin - - + + Left ear - - + + Right ear - - + + Left eyeball - - + + Right eyeball - - + + Nose - - - Item Sale Status - + + Right upper arm - - Not for sale + + Right forearm - - The original is for sale + + Left upper arm - - Copies are for sale + + Left forearm - - The contents of the object are for sale + + Right hip - - - Types of wearable assets - + + Right upper leg - - Body shape + + Right lower leg - - Skin textures and attributes + + Left hip - - Hair + + Left upper leg - - Eyes + + Left lower leg - - Shirt + + Stomach - - Pants + + Left pectoral - - Shoes + + Right pectoral - - Socks + + HUD Center position 2 - - Jacket + + HUD Top-right - - Gloves + + HUD Top - - Undershirt + + HUD Top-left - - Underpants + + HUD Center - - Skirt + + HUD Bottom-left - - Alpha mask to hide parts of the avatar + + HUD Bottom - - Tattoo + + HUD Bottom-right - - Invalid wearable asset + + + Tree foliage types + - - X value + + Pine1 tree - - Y value + + Oak tree - - Z value + + Tropical Bush1 - - W value + + Palm1 tree - - - 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 + + Dogwood tree - - - 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. + + Tropical Bush2 - - - Normalizes the quaternion - + + Palm2 tree - - - 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. + + Cypress1 tree - - - 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 + + Cypress2 tree - - - 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 + + Pine2 tree - - - Convert this quaternion to euler angles - - X euler angle - Y euler angle - Z euler angle + + Plumeria - - - Convert this quaternion to an angle around an axis - - Unit vector describing the axis - Angle around the axis, in radians + + Winter pinetree1 - - - Returns the conjugate (spatial inverse) of a quaternion - + + Winter Aspen tree - - - Build a quaternion from an axis and an angle of rotation around - that axis - + + Winter pinetree2 - - - Build a quaternion from an axis and an angle of rotation around - that axis - - Axis of rotation - Angle of rotation + + Eucalyptus tree - - - 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 + + Fern - - - 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 + + Eelgrass - - - Conjugates and renormalizes a vector - + + Sea Sword - - - Spherical linear interpolation between two quaternions - + + Kelp1 plant - - - 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 + + Beach grass - - A quaternion with a value of 0,0,0,1 + + Kelp2 plant - + - Provides helper methods for parallelizing loops + Grass foliage types - - - Executes a for loop in which iterations may run in parallel - - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop + + - - - Executes a for loop in which iterations may run in parallel - - The number of concurrent execution threads to run - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop + + - - - Executes a foreach loop in which iterations may run in parallel - - Object type that the collection wraps - An enumerable collection to iterate over - Method body to run for each object in the collection + + - - - Executes a foreach loop in which iterations may run in parallel - - Object type that the collection wraps - The number of concurrent execution threads to run - An enumerable collection to iterate over - Method body to run for each object in the collection + + - - - Executes a series of tasks in parallel - - A series of method bodies to execute + + - - - Executes a series of tasks in parallel - - The number of concurrent execution threads to run - A series of method bodies to execute + + - + - A hierarchical token bucket for bandwidth throttling. See - http://en.wikipedia.org/wiki/Token_bucket for more information + Action associated with clicking on an object - - Parent bucket to this bucket, or null if this is a root - bucket + + Touch object - - Size of the bucket in bytes. If zero, the bucket has - infinite capacity + + Sit on object - - Rate that the bucket fills, in bytes per millisecond. If - zero, the bucket always remains full + + Purchase object or contents - - Number of tokens currently in the bucket + + Pay the object - - Time of the last drip, in system ticks + + Open task inventory - - - 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 + + Play parcel media - - - 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 + + Open parcel media - + - Remove a given number of tokens from the bucket + A two-dimensional vector with floating-point values - Number of tokens to remove from the bucket - True if tokens were added to the bucket - during this call, otherwise false - True if the requested number of tokens were removed from - the bucket, otherwise false - + + X value + + + Y value + + - 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 + Test if this vector is equal to another vector, within a given + tolerance range - True if tokens were added to the bucket, otherwise false + 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 - + - 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 + Test if this vector is composed of all finite numbers - + - Maximum burst rate in bytes per second. This is the maximum number - of tokens that can accumulate in the bucket at any one time + IComparable.CompareTo implementation - + - The speed limit of this bucket in bytes per second. This is the - number of tokens that are added to the bucket per second + Builds a vector from 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) + Byte array containing two four-byte floats + Beginning position in the byte array - + - 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 + Returns the raw bytes for this vector + An eight-byte array containing X and Y - + - A thread-safe lockless queue that supports multiple readers and - multiple writers + 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 - - Queue head - - - Queue tail - - - Queue item count - - + - Constructor + Parse a vector from a string + A string representation of a 2D vector, enclosed + in arrow brackets and separated by commas - + - Enqueue an item + Interpolates between two vectors using a cubic equation - Item to enqeue - + - Try to dequeue an item + Get a formatted string representation of the vector - 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 + A string representation of the vector - + - Provides a node container for data in a singly linked list + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + Raw string representation of the vector - - Pointer to the next node in list + + A vector with a value of 0,0 - - The data contained by the node + + A vector with a value of 1,1 - - - Constructor - + + A vector with a value of 1,0 - - - Constructor - + + A vector with a value of 0,1 diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index f4f701b..cab014d 100644 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 09bf9d5fca8e9c22f3a0f5660aa55eea316853b1 Mon Sep 17 00:00:00 2001 From: Teravus Ovares (Dan Olivares) Date: Sat, 30 Oct 2010 02:26:48 -0400 Subject: * AbsolutePosition.Get{} returns incorrect result for child prim so switch to using prim.GetWorldPosition() in the warp renderer. --- OpenSim/Region/CoreModules/World/Warp3DMap/MapImageModule.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/World/Warp3DMap/MapImageModule.cs b/OpenSim/Region/CoreModules/World/Warp3DMap/MapImageModule.cs index 00b506e..6eb57eb 100644 --- a/OpenSim/Region/CoreModules/World/Warp3DMap/MapImageModule.cs +++ b/OpenSim/Region/CoreModules/World/Warp3DMap/MapImageModule.cs @@ -355,7 +355,7 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap if (renderMesh == null) return; - warp_Vector primPos = ConvertVector(prim.AbsolutePosition); + warp_Vector primPos = ConvertVector(prim.GetWorldPosition()); warp_Quaternion primRot = ConvertQuaternion(prim.RotationOffset); warp_Matrix m = warp_Matrix.quaternionMatrix(primRot); -- cgit v1.1