From 4a24bf74d93924b688fcd5246218083108c93c01 Mon Sep 17 00:00:00 2001 From: "Teravus Ovares (Dan Olivares)" Date: Sat, 30 Oct 2010 02:06:43 -0400 Subject: [PATCH] * 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 | 158 +- bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 102400 bytes bin/OpenMetaverse.XML | 34576 +++++++++--------- bin/OpenMetaverse.dll | Bin 1716224 -> 1716224 bytes bin/OpenMetaverseTypes.XML | 2626 +- bin/OpenMetaverseTypes.dll | Bin 114688 -> 114688 bytes 7 files changed, 18680 insertions(+), 18680 deletions(-) diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index f89ac5a5950c580299df4193487ec869eaaeedad..6139a9d5d94158f6eb12cc1e0c4c757d86ce7c99 100755 GIT binary patch delta 46 zcmV+}0MY+|paFoO0g#9TtgXwji&rE9sROg*Bt!=g+2#^jxi))Diy{CY`hIh?vp6is EBgt43O8@`> delta 46 zcmV+}0MY+|paFoO0g#9Te3- + + + Deserializes binary LLSD + + Serialized data + OSD containting deserialized data + + + + Deserializes binary LLSD + + Stream to read the data from + OSD containting deserialized data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -133,85 +212,6 @@ - - - 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 33b19caea064b5f777238e15d53245f96751277b..e3b729c6ee2bcf7b067665142f5155b0e84d2bc2 100644 GIT binary patch literal 102400 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 CdRBV? literal 102400 zcmeFad4N>K^*>s5Z};u)+cU%T%+Ni14+9Ks_e?V|fHMprBA|i`2nYx&2&gP_Ne`%T zm~q@tBQChFL=@a&689LBsL{B5qcLdIs8PfuE^$fJB*v)G_c^EP-o8D6N#6JO-XHHd zaI5Nb>eQ)IRj1aw^ub45BupVh0M}Pv32{Gs`kTn^*E@ZPE=fL6BJPR&YS8`ipkED| zef;vShBZ0oxZL6s8kQ_xz1msZaLlrX+`82b%U3r{K6F;Y3C_}G+2Ue*h!#C#iVz1$ zQ>?r47YDhy?G(nKs0<6SND9%QsE73Ga36djVoWbpdJ}>4=f8&$4?6vsV&Yj07{k$Y z?J>_6JyIM>A;|sIU{axTy%a@-l>ZDh2!RrKe_`MQJS0SR?Xr{C0?$55mupd8ZS>SeB5Cl(oYe4J=**N!zb!AzFuHo>a zp}5luKh!${ZVt)UaL5@+L?ab~jF8htz!?SCaz?{VL)U<~0E(itG1F;*GUb6-U`kXK zQ`Eu7DTg=#*JZeVhU-mS#mHbZE@&^xkUVXue38zVufZ9*af!k>(;0=_oH015! z)KqXahs=tZiJ~24d6rNlwLfBB4X1@fLkKZn*h@qa#wKatWNX940$os*;SL&FXl&4f z0(k61Hk!K^mDJUYIyl8}4g}4%hL%SGe=2pD`bd=ylYLj~Fxha84paZA)nT&5Ivpnat=C~Pr({F}YRsg~;LGwpQcUX? zi}sq%L6{y&MZhS55|JI_dK18HS4Eel?O6*ELavu&8GZg0hSnTk0Db} zoTj1Mxn(NTiuBGws?@MNo z5BUX$QuA1Fh&iL}3rMh+GTJ_UH-c%NOC97BjJcLnWm>eol0YhijHW(C1%+Y|Mq(*aCB&_LL4C*Oe&!Z5S?zw|UbRk{EI&On3|Ck5`Yy9GP?-Kze#pno4OwPk$rM4IIXj?m`*B}=^;Pb5Fok^WW~Iwp z4bcak!@DUzjgfBo2N|w1UGINQ`I|fTPt`6k$~Q*k!Vn*fmF3DnY=1?sAoL);#g#IXKjOWId_S}BZ)lMA)L2Aj_wS;P~Ybo45nm$AR zi8Hm#C8I6^0v0b|Z?W8S39NkD!0j9h%Esxi6$OuTq3IltU}`xWdzZP@;<;SSxv3Rk zvDg|F6?ss-$Kgk*-n&+k3@e4TvlX?RRY0_sF2@=i<)V8^m}jwkz2g5CqP_NmPcX{p6al&6^mj;n*1n}wdTdKVokoC$h%R+D`ZKmL`|&a1F$d1_2!iw!1Ho6vnrqdEicwf zUm7bdi}4x<)jO}&D{4%wcQRQcRY_Kp8ET}eI8d9rA8gjM8_9rjWpxF0i2+W{#W$Ko zKQxO_p_q#e@of|X!(gmyEovPz9$Cv!J3b->`)Fxv3|Y@Q>p;Q`LABnLDeX_mCy7|k zvH`Wc8sgEh%uvP=&s9PdMf1&tVP5X4@zoI5L66vO^vJRvq)q0((`J~b4bo<_FT!1x z-41t3_Ln3r`wO@&*#|vcX${;G&#m9RuDsTUj#Ot@cM8k`F`k*DnJk8Ank*ceSM%d? zH1{e*DMLn9%~=cXky(t~4Pd4^WR zovkt1&l+hxzsa>l=VaZ>j)i6{Q*S*R4J8}0147A2 z)()ZegP~+G?ZbJJ_onpL-+KEWh!a?D=-Epz!kW~67K>E>8p503DluQAJgJ#Tzoi3B zfdlj`-Ar@gUTv@O#Bx0BPtBX&$bFun~#iP7}DQdqL%7i+u zg&U7r&lX3L$F^2Rl8e<=Cj;_mT%cyhW}HZJb#_98wkEWnX~uQMn&CPb1I01g$IJ_sC+0^3MTz1} z9HPRPWCJ)wuL~#U74>iF5utFX)r_>fOpc!j0ScH|fa;rUJORbe#pGPHD?i>$M0+^1KR`<)CQz0ZZjtIC<2L0zE zfBG~0nZz_RI+CrjGYYaZ3bHf$WruAk9jmEKXskR7@@uJ2Iek=wT(ac+S?IaAtq@O^ zIH!TuWW-m*ozp3#&sRv#Xo!_^&Y)B%2dvskhgcJ)wN!^#5e14vtcS;qy&&_$qNVmhv$;d&m|MYt-EG=!_Y77ndI z&w+F-yPS5ce&Pwv40H2xrn}^7mz*mg*Sq9(1>|I@OYdU3l5JZTET@H&6*WR}B@oRI zqRV`YkGUwUndx*uGl%0Ky39)pa`Y5g<�TYPA%c4#a}4oLC@E5n7U7d=95Za~Gej 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 QFe8B(3Cu{~|4j+}Uv+15H2?qr diff --git a/bin/OpenMetaverse.XML b/bin/OpenMetaverse.XML index f5bda4b4b9..6e57fed0d7 100644 --- a/bin/OpenMetaverse.XML +++ b/bin/OpenMetaverse.XML @@ -4,653 +4,3348 @@ OpenMetaverse - + +

= + + + Number of times we've received an unknown CAPS exception in series. + + + For exponential backoff on error. + + - Singleton logging class for the entire library + Add a custom decoder callback + + The key of the field to decode + The custom decode handler + + + + Remove a custom decoder callback + + The key of the field to decode + The custom decode handler + + + + Creates a formatted string containing the values of a Packet + + The Packet + A formatted string of values of the nested items in the Packet object + + + + Decode an IMessage object into a beautifully formatted string + + The IMessage object + Recursion level (used for indenting) + A formatted string containing the names and values of the source object + + + + A custom decoder callback + + The key of the object + the data to decode + A string represending the fieldData + + + + Access to the data server which allows searching for land, events, people, etc - - log4net logging engine + + The event subscribers. null if no subcribers - + + Raises the EventInfoReply event + An EventInfoReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the DirEventsReply event + An DirEventsReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the PlacesReply event + A PlacesReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the DirPlacesReply event + A DirPlacesReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the DirClassifiedsReply event + A DirClassifiedsReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the DirGroupsReply event + A DirGroupsReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the DirPeopleReply event + A DirPeopleReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the DirLandReply event + A DirLandReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + + Constructs a new instance of the DirectoryManager class + + An instance of GridClient + + + + Query the data server for a list of classified ads containing the specified string. + Defaults to searching for classified placed in any category, and includes PG, Adult and Mature + results. + + Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + + The event is raised when a response is received from the simulator + + A string containing a list of keywords to search for + A UUID to correlate the results when the event is raised + + + + Query the data server for a list of classified ads which contain specified keywords (Overload) + + The event is raised when a response is received from the simulator + + A string containing a list of keywords to search for + The category to search + A set of flags which can be ORed to modify query options + such as classified maturity rating. + A UUID to correlate the results when the event is raised + + Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature + + UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); + + + + Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + + + + + Starts search for places (Overloaded) + + The event is raised when a response is received from the simulator + + Search text + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised + + + + Queries the dataserver for parcels of land which are flagged to be shown in search + + The event is raised when a response is received from the simulator + + A string containing a list of keywords to search for separated by a space character + A set of flags which can be ORed to modify query options + such as classified maturity rating. + The category to search + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised + + Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult + + UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); + + + + Additional information on the results can be obtained by using the ParcelManager.InfoRequest method + + + + + Starts a search for land sales using the directory + + The event is raised when a response is received from the simulator + + What type of land to search for. Auction, + estate, mainland, "first land", etc + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. + + + + Starts a search for land sales using the directory + + The event is raised when a response is received from the simulator + + What type of land to search for. Auction, + estate, mainland, "first land", etc + Maximum price to search for + Maximum area to search for + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. + + + + Send a request to the data server for land sales listings + + + Flags sent to specify query options + + Available flags: + Specify the parcel rating with one or more of the following: + IncludePG IncludeMature IncludeAdult + + Specify the field to pre sort the results with ONLY ONE of the following: + PerMeterSort NameSort AreaSort PricesSort + + Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order + SortAsc + + Specify additional filters to limit the results with one or both of the following: + LimitByPrice LimitByArea + + Flags can be combined by separating them with the | (pipe) character + + Additional details can be found in + + What type of land to search for. Auction, + Estate or Mainland + Maximum price to search for when the + DirFindFlags.LimitByPrice flag is specified in findFlags + Maximum area to search for when the + DirFindFlags.LimitByArea flag is specified in findFlags + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + The event will be raised with the response from the simulator + + There is no way to determine how many results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each reply. + + Any land set for sale to either anybody or specific to the connected agent will be included in the + results if the land is included in the query + + + // request all mainland, any maturity rating that is larger than 512 sq.m + StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); + + + + + Search for Groups + + The name or portion of the name of the group you wish to search for + Start from the match number + + + + + Search for Groups + + The name or portion of the name of the group you wish to search for + Start from the match number + Search flags + + + + + Search the People directory for other avatars + + The name or portion of the name of the avatar you wish to search for + + + + + + Search Places for parcels of land you personally own + + + + + Searches Places for land owned by the specified group + + ID of the group you want to recieve land list for (You must be a member of the group) + Transaction (Query) ID which can be associated with results from your request. + + + + Search the Places directory for parcels that are listed in search and contain the specified keywords + + A string containing the keywords to search for + Transaction (Query) ID which can be associated with results from your request. + + + + Search Places - All Options + + One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. + One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer + A string containing a list of keywords to search for separated by a space character + String Simulator Name to search in + LLUID of group you want to recieve results for + Transaction (Query) ID which can be associated with results from your request. + Transaction (Query) ID which can be associated with results from your request. + + + + Search All Events with specifid searchText in all categories, includes PG, Mature and Adult + + A string containing a list of keywords to search for separated by a space character + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + UUID of query to correlate results in callback. + + + + Search Events + + A string containing a list of keywords to search for separated by a space character + One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult + from the Enum + + Multiple flags can be combined by separating the flags with the | (pipe) character + "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled + For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + EventCategory event is listed under. + UUID of query to correlate results in callback. + + + Requests Event Details + ID of Event returned from the method + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Classified Ad categories + + + Classified is listed in the Any category + + + Classified is shopping related + + + Classified is + + + + + + + + + + + + + + + + + + + + + + + + Event Categories + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. + + Flags can be combined using the | (pipe) character, not all flags are available in all queries + + + + Query the People database + + + + + + + + + Query the Groups database + + + Query the Events database + + + Query the land holdings database for land owned by the currently connected agent + + + + + + Query the land holdings database for land which is owned by a Group + + + Specifies the query should pre sort the results based upon traffic + when searching the Places database + + + + + + + + + + + + + + + Specifies the query should pre sort the results in an ascending order when searching the land sales database. + This flag is only used when searching the land sales database + + + Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. + This flag is only used when searching the land sales database + + + Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. + This flag is only used when searching the land sales database + + + Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. + This flag is only used when searching the land sales database + + + Specifies the query should pre sort the results using the Name field when searching the land sales database. + This flag is only used when searching the land sales database + + + When set, only parcels less than the specified Price will be included when searching the land sales database. + This flag is only used when searching the land sales database + + + When set, only parcels greater than the specified Size will be included when searching the land sales database. + This flag is only used when searching the land sales database + + + + + + + + + Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + + + + + Land types to search dataserver for + + + + Search Auction, Mainland and Estate + + + Land which is currently up for auction + + + Parcels which are on the mainland (Linden owned) continents + + + Parcels which are on privately owned simulators + + + + The content rating of the event + + + + Event is PG + + + Event is Mature + + + Event is Adult + + + + Classified Ad Options + + There appear to be two formats the flags are packed in. + This set of flags is for the newer style + + + + + + + + + + + + + + + + + + + Classified ad query options + + + + Include all ads in results + + + Include PG ads in results + + + Include Mature ads in results + + + Include Adult ads in results + + + + The For Sale flag in PlacesReplyData + + + + Parcel is not listed for sale + + + Parcel is For Sale + + + + A classified ad on the grid + + + + UUID for this ad, useful for looking up detailed + information about it + + + The title of this classified ad + + + Flags that show certain options applied to the classified + + + Creation date of the ad + + + Expiration date of the ad + + + Price that was paid for this ad + + + Print the struct data as a string + A string containing the field name, and field value + + + + A parcel retrieved from the dataserver such as results from the + "For-Sale" listings or "Places" Search + + + + The unique dataserver parcel ID + This id is used to obtain additional information from the entry + by using the method + + + A string containing the name of the parcel + + + The size of the parcel + This field is not returned for Places searches + + + The price of the parcel + This field is not returned for Places searches + + + If True, this parcel is flagged to be auctioned + + + If true, this parcel is currently set for sale + + + Parcel traffic + + + Print the struct data as a string + A string containing the field name, and field value + + + + An Avatar returned from the dataserver + + + + Online status of agent + This field appears to be obsolete and always returns false + + + The agents first name + + + The agents last name + + + The agents + + + Print the struct data as a string + A string containing the field name, and field value + + + + Response to a "Groups" Search + + + + The Group ID + + + The name of the group + + + The current number of members + + + Print the struct data as a string + A string containing the field name, and field value + + + + Parcel information returned from a request + + Represents one of the following: + A parcel of land on the grid that has its Show In Search flag set + A parcel of land owned by the agent making the request + A parcel of land owned by a group the agent making the request is a member of + + + In a request for Group Land, the First record will contain an empty record + + Note: This is not the same as searching the land for sale data source + + + + The ID of the Agent of Group that owns the parcel + + + The name + + + The description + + + The Size of the parcel + + + The billable Size of the parcel, for mainland + parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller + than the ActualArea. For Estate land this will always be 0 + + + Indicates the ForSale status of the parcel + + + The Gridwide X position + + + The Gridwide Y position + + + The Z position of the parcel, or 0 if no landing point set + + + The name of the Region the parcel is located in + + + The Asset ID of the parcels Snapshot texture + + + The calculated visitor traffic + + + The billing product SKU + Known values are: + + 023Mainland / Full Region + 024Estate / Full Region + 027Estate / Openspace + 029Estate / Homestead + 129Mainland / Homestead (Linden Owned) + + + + + No longer used, will always be 0 + + + Get a SL URL for the parcel + A string, containing a standard SLURL + + + Print the struct data as a string + A string containing the field name, and field value + + + + An "Event" Listing summary + + + + The ID of the event creator + + + The name of the event + + + The events ID + + + A string containing the short date/time the event will begin + + + The event start time in Unixtime (seconds since epoch) + + + The events maturity rating + + + Print the struct data as a string + A string containing the field name, and field value + + + + The details of an "Event" + + + + The events ID + + + The ID of the event creator + + + The name of the event + + + The category + + + The events description + + + The short date/time the event will begin + + + The event start time in Unixtime (seconds since epoch) UTC adjusted + + + The length of the event in minutes + + + 0 if no cover charge applies + + + The cover charge amount in L$ if applicable + + + The name of the region where the event is being held + + + The gridwide location of the event + + + The maturity rating + + + Get a SL URL for the parcel where the event is hosted + A string, containing a standard SLURL + + + Print the struct data as a string + A string containing the field name, and field value + + + Contains the Event data returned from the data server from an EventInfoRequest + + + Construct a new instance of the EventInfoReplyEventArgs class + A single EventInfo object containing the details of an event + + + + A single EventInfo object containing the details of an event + + + + Contains the "Event" detail data returned from the data server + + + Construct a new instance of the DirEventsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Events" returned by the search query + + + The ID returned by + + + A list of "Events" returned by the data server + + + Contains the "Event" list data returned from the data server + + + Construct a new instance of PlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Places" returned by the data server query + + + The ID returned by + + + A list of "Places" returned by the data server + + + Contains the places data returned from the data server + + + Construct a new instance of the DirPlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing land data returned by the data server + + + The ID returned by + + + A list containing Places data returned by the data server + + + Contains the classified data returned from the data server + + + Construct a new instance of the DirClassifiedsReplyEventArgs class + A list of classified ad data returned from the data server + + + A list containing Classified Ads returned by the data server + + + Contains the group data returned from the data server + + + Construct a new instance of the DirGroupsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of groups data returned by the data server + + + The ID returned by + + + A list containing Groups data returned by the data server + + + Contains the people data returned from the data server + + + Construct a new instance of the DirPeopleReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of people data returned by the data server + + + The ID returned by + + + A list containing People data returned by the data server + + + Contains the land sales data returned from the data server + + + Construct a new instance of the DirLandReplyEventArgs class + A list of parcels for sale returned by the data server + + + A list containing land forsale data returned by the data server + + + + Sent to the client to indicate a teleport request has completed + + + + + Interface requirements for Messaging system + + + + The of the agent + + + + + + The simulators handle the agent teleported to + + + A Uri which contains a list of Capabilities the simulator supports + + + Indicates the level of access required + to access the simulator, or the content rating, or the simulators + map status + + + The IP Address of the simulator + + + The UDP Port the simulator will listen for UDP traffic on + + + Status flags indicating the state of the Agent upon arrival, Flying, etc. + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. + + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message sent to the client which indicates a teleport request has failed + and contains some information on why it failed + + + + + + + A string key of the reason the teleport failed e.g. CouldntTPCloser + Which could be used to look up a value in a dictionary or enum + + + The of the Agent + + + A string human readable message containing the reason + An example: Could not teleport closer to destination + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Contains a list of prim owner information for a specific parcel in a simulator + + + A Simulator will always return at least 1 entry + If agent does not have proper permission the OwnerID will be UUID.Zero + If agent does not have proper permission OR there are no primitives on parcel + the DataBlocksExtended map will not be sent from the simulator + + + + An Array of objects + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Prim ownership information for a specified owner on a single parcel + + + + The of the prim owner, + UUID.Zero if agent has no permission to view prim owner information + + + The total number of prims + + + True if the OwnerID is a + + + True if the owner is online + This is no longer used by the LL Simulators + + + The date the most recent prim was rezzed + + + + The details of a single parcel in a region, also contains some regionwide globals + + + + Simulator-local ID of this parcel + + + Maximum corner of the axis-aligned bounding box for this + parcel + + + Minimum corner of the axis-aligned bounding box for this + parcel + + + Total parcel land area + + + + + + Key of authorized buyer + + + Bitmap describing land layout in 4x4m squares across the + entire region + + + + + + Date land was claimed + + + Appears to always be zero + + + Parcel Description + + + + + + + + + Total number of primitives owned by the parcel group on + this parcel + + + Whether the land is deeded to a group or not + + + + + + Maximum number of primitives this parcel supports + + + The Asset UUID of the Texture which when applied to a + primitive will display the media + + + A URL which points to any Quicktime supported media type + + + A byte, if 0x1 viewer should auto scale media to fit object + + + URL For Music Stream + + + Parcel Name + + + Autoreturn value in minutes for others' objects + + + + + + Total number of other primitives on this parcel + + + UUID of the owner of this parcel + + + Total number of primitives owned by the parcel owner on + this parcel + + + + + + How long is pass valid for + + + Price for a temporary pass + + + + + + + + + + + + + + + True if the region denies access to age unverified users + + + + + + This field is no longer used + + + The result of a request for parcel properties + + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it + + + + Number of primitives your avatar is currently + selecting and sitting on in this parcel + + + + + + + + A number which increments by 1, starting at 0 for each ParcelProperties request. + Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. + a Negative number indicates the action in has occurred. + + + + Maximum primitives across the entire simulator + + + Total primitives across the entire simulator + + + + + + Key of parcel snapshot + + + Parcel ownership status + + + Total number of primitives on this parcel + + + + + + + + + A description of the media + + + An Integer which represents the height of the media + + + An integer which represents the width of the media + + + A boolean, if true the viewer should loop the media + + + A string which contains the mime type of the media + + + true to obscure (hide) media url + + + true to obscure (hide) music url + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + A message sent from the viewer to the simulator to updated a specific parcels settings + + + The of the agent authorized to purchase this + parcel of land or a NULL if the sale is authorized to anyone + + + true to enable auto scaling of the parcel media + + + The category of this parcel used when search is enabled to restrict + search results + + + A string containing the description to set + + + The of the which allows for additional + powers and restrictions. + + + The which specifies how avatars which teleport + to this parcel are handled + + + The LocalID of the parcel to update settings on + + + A string containing the description of the media which can be played + to visitors + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + Base class used for the RemoteParcelRequest message + + + + A message sent from the viewer to the simulator to request information + on a remote parcel + + + + Local sim position of the parcel we are looking up + + + Region handle of the parcel we are looking up + + + Region of the parcel we are looking up + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message sent from the simulator to the viewer in response to a + which will contain parcel information + + + + The grid-wide unique parcel ID + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message containing a request for a remote parcel from a viewer, or a response + from the simulator to that request + + + + The request or response details block + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message sent from the simulator to an agent which contains + the groups the agent is in + + + + The Agent receiving the message + + + An array containing information + for each the agent is a member of + + + An array containing information + for each the agent is a member of + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + Group Details specific to the agent + + + true of the agent accepts group notices + + + The agents tier contribution to the group + + + The Groups + + + The of the groups insignia + + + The name of the group + + + The aggregate permissions the agent has in the group for all roles the agent + is assigned + + + An optional block containing additional agent specific information + + + true of the agent allows this group to be + listed in their profile + + + + A message sent from the viewer to the simulator which + specifies the language and permissions for others to detect + the language specified + + + + A string containng the default language + to use for the agent + + + true of others are allowed to + know the language setting + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + An EventQueue message sent from the simulator to an agent when the agent + leaves a group + + + + + An Array containing the AgentID and GroupID + + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + An object containing the Agents UUID, and the Groups UUID + + + The ID of the Agent leaving the group + + + The GroupID the Agent is leaving + + + Base class for Asset uploads/results via Capabilities + + + + The request state + + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message sent from the viewer to the simulator to request a temporary upload capability + which allows an asset to be uploaded + + + + The Capability URL sent by the simulator to upload the baked texture to + + + + A message sent from the simulator that will inform the agent the upload is complete, + and the UUID of the uploaded asset + + + + The uploaded texture asset ID + + + + A message sent from the viewer to the simulator to request a temporary + capability URI which is used to upload an agents baked appearance textures + + + + Object containing request or response + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message sent from the simulator which indicates the minimum version required for + using voice chat + + + + Major Version Required + + + Minor version required + + + The name of the region sending the version requrements + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message sent from the simulator to the viewer containing the + voice server URI + + + + The Parcel ID which the voice server URI applies + + + The name of the region + + + A uri containing the server/channel information + which the viewer can utilize to participate in voice conversations + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + + + + + + + + + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message sent by the viewer to the simulator to request a temporary + capability for a script contained with in a Tasks inventory to be updated + + + + Object containing request or response + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message sent from the simulator to the viewer to indicate + a Tasks scripts status. + + + + The Asset ID of the script + + + True of the script is compiled/ran using the mono interpreter, false indicates it + uses the older less efficient lsl2 interprter + + + The Task containing the scripts + + + true of the script is in a running state + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message containing the request/response used for updating a gesture + contained with an agents inventory + + + + Object containing request or response + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message request/response which is used to update a notecard contained within + a tasks inventory + + + + The of the Task containing the notecard asset to update + + + The notecard assets contained in the tasks inventory + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability + which is used to update an asset in an agents inventory + + + + + The Notecard AssetID to replace + + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message containing the request/response used for updating a notecard + contained with an agents inventory + + + + Object containing request or response + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message sent from the simulator to the viewer which indicates + an error occurred while attempting to update a script in an agents or tasks + inventory + + + + true of the script was successfully compiled by the simulator + + + A string containing the error which occured while trying + to update the script + + + A new AssetID assigned to the script + + + + A message sent from the viewer to the simulator + requesting the update of an existing script contained + within a tasks inventory + + + + if true, set the script mode to running + + + The scripts InventoryItem ItemID to update + + + A lowercase string containing either "mono" or "lsl2" which + specifies the script is compiled and ran on the mono runtime, or the older + lsl runtime + + + The tasks which contains the script to update + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message containing either the request or response used in updating a script inside + a tasks inventory + + + + Object containing request or response + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Response from the simulator to notify the viewer the upload is completed, and + the UUID of the script asset and its compiled status + + + + The uploaded texture asset ID + + + true of the script was compiled successfully + + + + A message sent from a viewer to the simulator requesting a temporary uploader capability + used to update a script contained in an agents inventory + + + + The existing asset if of the script in the agents inventory to replace + + + The language of the script + Defaults to lsl version 2, "mono" might be another possible option + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message containing either the request or response used in updating a script inside + an agents inventory + + + + Object containing request or response + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + Base class for Map Layers via Capabilities + + + + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Sent by an agent to the capabilities server to request map layers + + + + + A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates + + + + An array containing LayerData items + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + An object containing map location details + + + + The Asset ID of the regions tile overlay + + + The grid location of the southern border of the map tile + + + The grid location of the western border of the map tile + + + The grid location of the eastern border of the map tile + + + The grid location of the northern border of the map tile + + + Object containing request or response + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + New as of 1.23 RC1, no details yet. + + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + A string containing the method used + + + + A request sent from an agent to the Simulator to begin a new conference. + Contains a list of Agents which will be included in the conference + + + + An array containing the of the agents invited to this conference + + + The conferences Session ID + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A moderation request sent from a conference moderator + Contains an agent and an optional action to take + + + + The Session ID + + + + + + A list containing Key/Value pairs, known valid values: + key: text value: true/false - allow/disallow specified agents ability to use text in session + key: voice value: true/false - allow/disallow specified agents ability to use voice in session + + "text" or "voice" + + + + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message sent from the agent to the simulator which tells the + simulator we've accepted a conference invitation + + + + The conference SessionID + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + Key of sender + + + Name of sender + + + Key of destination avatar + + + ID of originating estate + + + Key of originating region + + + Coordinates in originating region + + + Instant message type + + + Group IM session toggle + + + Key of IM session, for Group Messages, the groups UUID + + + Timestamp of the instant message + + + Instant message text + + + Whether this message is held for offline avatars + + + Context specific packed data + + + Is this invitation for voice group/conference chat + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Sent from the simulator to the viewer. + + When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including + a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate + this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" + + During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are + excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with + the string "ENTER" or "LEAVE" respectively. + + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + An EventQueue message sent when the agent is forcibly removed from a chatterbox session + + + + + A string containing the reason the agent was removed + + + + + The ChatterBoxSession's SessionID + + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + + + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message sent from the viewer to the simulator which + specifies that the user has changed current URL + of the specific media on a prim face + + + + + New URL + + + + + Prim UUID where navigation occured + + + + + Face index + + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + Base class used for the ObjectMedia message + + + + Message used to retrive prim media data + + + + + Prim UUID + + + + + Requested operation, either GET or UPDATE + + + + + Serialize object + + Serialized object as OSDMap + + + + Deserialize the message + + An containing the data + + + + Message used to update prim media data + + + + + Prim UUID + + + + + Array of media entries indexed by face number + + + + + Media version string + + + + + Serialize object + + Serialized object as OSDMap + + + + Deserialize the message + + An containing the data + + + + Message used to update prim media data + + + + + Prim UUID + + + + + Array of media entries indexed by face number + + + + + Requested operation, either GET or UPDATE + + + + + Serialize object + + Serialized object as OSDMap + + + + Deserialize the message + + An containing the data + + + + Message for setting or getting per face MediaEntry + + + + The request or response details block + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + Details about object resource usage + + + Object UUID + + + Object name + + + Indicates if object is group owned + + + Locatio of the object + + + Object owner + + + Resource usage, keys are resource names, values are resource usage for that specific resource + + + + Deserializes object from OSD + + An containing the data + + + + Makes an instance based on deserialized data + + serialized data + Instance containg deserialized data + + + Details about parcel resource usage + + + Parcel UUID + + + Parcel local ID + + + Parcel name + + + Indicates if parcel is group owned + + + Parcel owner + + + Array of containing per object resource usage + + + + Deserializes object from OSD + + An containing the data + + + + Makes an instance based on deserialized data + + serialized data + Instance containg deserialized data + + + Resource usage base class, both agent and parcel resource + usage contains summary information + + + Summary of available resources, keys are resource names, + values are resource usage for that specific resource + + + Summary resource usage, keys are resource names, + values are resource usage for that specific resource + + + + Serializes object + + serialized data + + + + Deserializes object from OSD + + An containing the data + + + Agent resource usage + + + Per attachment point object resource usage + + + + Deserializes object from OSD + + An containing the data + + + + Makes an instance based on deserialized data + + serialized data + Instance containg deserialized data + + + + Detects which class handles deserialization of this message + + An containing the data + Object capable of decoding this message + + + Request message for parcel resource usage + + + UUID of the parel to request resource usage info + + + + Serializes object + + serialized data + + + + Deserializes object from OSD + + An containing the data + + + Response message for parcel resource usage + + + URL where parcel resource usage details can be retrieved + + + URL where parcel resource usage summary can be retrieved + + + + Serializes object + + serialized data + + + + Deserializes object from OSD + + An containing the data + + + + Detects which class handles deserialization of this message + + An containing the data + Object capable of decoding this message + + + Parcel resource usage + + + Array of containing per percal resource usage + + + + Deserializes object from OSD + + An containing the data + + + + Type of gesture step + + + + + Base class for gesture steps + + + + + Retururns what kind of gesture step this is + + + + + Describes animation step of a gesture + + + + + If true, this step represents start of animation, otherwise animation stop + + + + + Animation asset + + + + + Animation inventory name + + + + + Returns what kind of gesture step this is + + + + + Describes sound step of a gesture + + + + + Sound asset + + + + + Sound inventory name + + + + + Returns what kind of gesture step this is + + + + + Describes sound step of a gesture + + + + + Text to output in chat + + + + + Returns what kind of gesture step this is + + + + + Describes sound step of a gesture + + + + + If true in this step we wait for all animations to finish + + + + + If true gesture player should wait for the specified amount of time + + + + + Time in seconds to wait if WaitForAnimation is false + + + + + Returns what kind of gesture step this is + + + + + Describes the final step of a gesture + + + + + Returns what kind of gesture step this is + + + + + Represents a sequence of animations, sounds, and chat actions + + + + + Base class for all Asset types + + + + A byte array containing the raw asset data + + + True if the asset it only stored on the server temporarily + + + A unique ID + + + + Construct a new Asset object + + + + + Construct a new Asset object + + A unique specific to this asset + A byte array containing the raw asset data + + + + Regenerates the AssetData byte array from the properties + of the derived class. + + + + + Decodes the AssetData, placing it in appropriate properties of the derived + class. + + True if the asset decoding succeeded, otherwise false + + + The assets unique ID + + + + The "type" of asset, Notecard, Animation, etc + + + + + Keyboard key that triggers the gestyre + + + + + Modifier to the trigger key + + + + + String that triggers playing of the gesture sequence + + + + + Text that replaces trigger in chat once gesture is triggered + + + + + Sequence of gesture steps + + + + + Constructs guesture asset + + + + + Constructs guesture asset + + A unique specific to this asset + A byte array containing the raw asset data + + + + Encodes gesture asset suitable for uplaod + + + + + Decodes gesture assset into play sequence + + true if the asset data was decoded successfully + + + + Returns asset type + + + + + 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 + + + + + + Constants for the archiving module + + + + + The location of the archive control file + + + + + Path for the assets held in an archive + + + + + Path for the prims file + + + + + Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. + + + + + Path for region settings. + + + + + The character the separates the uuid from extension information in an archived asset filename + + + + + Extensions used for asset types in the archive + + + + + 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 + + - + - Send a log message to the logging engine + Request the URI of a named capability - The log message - The severity of the log entry + Name of the capability to request + The URI of the requested capability, or String.Empty if + the capability does not exist - + - Send a log message to the logging engine + Process any incoming events, check to see if we have a message created for the event, - The log message - The severity of the log entry - Instance of the client + + - + + Capabilities URI this system was initialized with + + + Whether the capabilities event queue is connected and + listening for incoming events + + - Send a log message to the logging engine + Triggered when an event is received via the EventQueueGet + capability - The log message - The severity of the log entry - Exception that was raised + Event name + Decoded event data + The simulator that generated the event - + - Send a log message to the logging engine - - The log message - The severity of the log entry - Instance of the client - Exception that was raised - - - - If the library is compiled with DEBUG defined, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine - - The message to log at the DEBUG level to the - current logging engine - - - - If the library is compiled with DEBUG defined and - GridClient.Settings.DEBUG is true, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine - - The message to log at the DEBUG level to the - current logging engine - Instance of the client - - - Triggered whenever a message is logged. If this is left - null, log messages will go to the console - - - - Callback used for client apps to receive log messages from - the library - - Data being logged - The severity of the log entry from - - - - This is used to get a list of audio devices that can be used for capture (input) of voice. - - - - - - This is used to get a list of audio devices that can be used for render (playback) of voice. + Throttles the network traffic for various different traffic types. + Access this class through GridClient.Throttle - + - This command is used to select the render device. - - The name of the device as returned by the Aux.GetRenderDevices command. - - - - This command is used to select the capture device. - - The name of the device as returned by the Aux.GetCaptureDevices command. - - - - This command is used to start the audio capture process which will cause - AuxAudioProperty Events to be raised. These events can be used to display a - microphone VU meter for the currently selected capture device. This command - should not be issued if the user is on a call. - - (unused but required) - - - - - This command is used to stop the audio capture process. - - - - - - This command is used to set the mic volume while in the audio tuning process. - Once an acceptable mic level is attained, the application must issue a - connector set mic volume command to have that level be used while on voice - calls. - - the microphone volume (-100 to 100 inclusive) - - - - - This command is used to set the speaker volume while in the audio tuning - process. Once an acceptable speaker level is attained, the application must - issue a connector set speaker volume command to have that level be used while - on voice calls. - - the speaker volume (-100 to 100 inclusive) - - - - - This is used to initialize and stop the Connector as a whole. The Connector - Create call must be completed successfully before any other requests are made - (typically during application initialization). The shutdown should be called - when the application is shutting down to gracefully release resources - - A string value indicting the Application name - URL for the management server - LoggingSettings - - - - - - Shutdown Connector -- Should be called when the application is shutting down - to gracefully release resources - - Handle returned from successful Connector ‘create’ request - - - - Mute or unmute the microphone - - Handle returned from successful Connector ‘create’ request - true (mute) or false (unmute) - - - - Mute or unmute the speaker - - Handle returned from successful Connector ‘create’ request - true (mute) or false (unmute) - - - - Set microphone volume - - Handle returned from successful Connector ‘create’ request - The level of the audio, a number between -100 and 100 where - 0 represents ‘normal’ speaking volume - - - - Set local speaker volume - - Handle returned from successful Connector ‘create’ request - The level of the audio, a number between -100 and 100 where - 0 represents ‘normal’ speaking volume - - - - Starts a thread that keeps the daemon running - - - - - - - Stops the daemon and the thread keeping it running + Default constructor, uses a default high total of 1500 KBps (1536000) - + - + Constructor that decodes an existing AgentThrottle packet in to + individual values - - - + Reference to the throttle data in an AgentThrottle + packet + Offset position to start reading at in the + throttle data + This is generally not needed in clients as the server will + never send a throttle packet to the client - + - Create a Session - Sessions typically represent a connection to a media session with one or more - participants. This is used to generate an ‘outbound’ call to another user or - channel. The specifics depend on the media types involved. A session handle is - required to control the local user functions within the session (or remote - users if the current account has rights to do so). Currently creating a - session automatically connects to the audio media, there is no need to call - Session.Connect at this time, this is reserved for future use. - - Handle returned from successful Connector ‘create’ request - This is the URI of the terminating point of the session (ie who/what is being called) - This is the display name of the entity being called (user or channel) - Only needs to be supplied when the target URI is password protected - This indicates the format of the password as passed in. This can either be - “ClearText” or “SHA1UserName”. If this element does not exist, it is assumed to be “ClearText”. If it is - “SHA1UserName”, the password as passed in is the SHA1 hash of the password and username concatenated together, - then base64 encoded, with the final “=” character stripped off. - - - - - - - Used to accept a call - - SessionHandle such as received from SessionNewEvent - "default" - - - - - This command is used to start the audio render process, which will then play - the passed in file through the selected audio render device. This command - should not be issued if the user is on a call. - - The fully qualified path to the sound file. - True if the file is to be played continuously and false if it is should be played once. - - - - - This command is used to stop the audio render process. - - The fully qualified path to the sound file issued in the start render command. - - - - - This is used to ‘end’ an established session (i.e. hang-up or disconnect). - - Handle returned from successful Session ‘create’ request or a SessionNewEvent - - - - - Set the combined speaking and listening position in 3D space. - - Handle returned from successful Session ‘create’ request or a SessionNewEvent - Speaking position - Listening position - - - - - Set User Volume for a particular user. Does not affect how other users hear that user. - - Handle returned from successful Session ‘create’ request or a SessionNewEvent - - The level of the audio, a number between -100 and 100 where 0 represents ‘normal’ speaking volume - - - - - Start up the Voice service. + Send an AgentThrottle packet to the current server using the + current values - + - Handle miscellaneous request status - - - - ///If something goes wrong, we log it. - - - - Cleanup oject resources + Send an AgentThrottle packet to the specified server using the + current values - + - Request voice cap when changing regions + Convert the current throttle values to a byte array that can be put + in an AgentThrottle packet + Byte array containing all the throttle values - - - Handle a change in session state - + + Maximum bits per second for resending unacknowledged packets - - - Close a voice session - - + + Maximum bits per second for LayerData terrain - - - Locate a Session context from its handle - - Creates the session context if it does not exist. + + Maximum bits per second for LayerData wind data - - - Handle completion of main voice cap request. - - - - + + Maximum bits per second for LayerData clouds - - - Daemon has started so connect to it. - + + Unknown, includes object data - - - The daemon TCP connection is open. - + + Maximum bits per second for textures - - - Handle creation of the Connector. - + + Maximum bits per second for downloaded assets - - - Handle response to audio output device query - - - - - Handle response to audio input device query - - - - - Set voice channel for new parcel - - - - - - Request info from a parcel capability Uri. - - - - - - Receive parcel voice cap - - - - - - - - Tell Vivox where we are standing - - This has to be called when we move or turn. - - - - Start and stop updating out position. - - - - - - This is used to login a specific user account(s). It may only be called after - Connector initialization has completed successfully - - Handle returned from successful Connector ‘create’ request - User's account name - User's account password - Values may be “AutoAnswer” or “VerifyAnswer” - "" - This is an integer that specifies how often - the daemon will send participant property events while in a channel. If this is not set - the default will be “on state change”, which means that the events will be sent when - the participant starts talking, stops talking, is muted, is unmuted. - The valid values are: - 0 – Never - 5 – 10 times per second - 10 – 5 times per second - 50 – 1 time per second - 100 – on participant state change (this is the default) - false - - - - - This is used to logout a user session. It should only be called with a valid AccountHandle. - - Handle returned from successful Connector ‘login’ request - - - - - Event for most mundane request reposnses. - - - - Response to Connector.Create request - - - Response to Aux.GetCaptureDevices request - - - Response to Aux.GetRenderDevices request - - - Audio Properties Events are sent after audio capture is started. - These events are used to display a microphone VU meter - - - Response to Account.Login request - - - This event message is sent whenever the login state of the - particular Account has transitioned from one value to another - - - - List of audio input devices - - - - - List of audio output devices - - - - - Set audio test mode - - - - Enable logging - - - The folder where any logs will be created - - - This will be prepended to beginning of each log file - - - The suffix or extension to be appended to each log file - - - - 0: NONE - No logging - 1: ERROR - Log errors only - 2: WARNING - Log errors and warnings - 3: INFO - Log errors, warnings and info - 4: DEBUG - Log errors, warnings, info and debug - - - - - Constructor for default logging settings - - - - Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter - - - Positional vector of the users position - - - Velocity vector of the position - - - At Orientation (X axis) of the position - - - Up Orientation (Y axis) of the position - - - Left Orientation (Z axis) of the position - - - - The type of bump-mapping applied to a face - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The level of shininess applied to a face - - - - - - - - - - - - - - - - - The texture mapping style used for a face - - - - - - - - - - - - - - - - - Flags in the TextureEntry block that describe which properties are - set - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Maximum bits per second the entire connection, divided up + between invidiual streams using default multipliers Particle system specific enumerators, flags and methods. - - - - - - - - - @@ -773,6 +3468,9 @@ Signed eight bit value to unpack Unpacked floating point value + + + Current version of the media data for the prim @@ -783,384 +3481,15 @@ Array of media entries indexed by face number + + + + + + Uses basic heuristics to estimate the primitive shape - - - Texture animation mode - - - - Disable texture animation - - - Enable texture animation - - - Loop when animating textures - - - Animate in reverse direction - - - Animate forward then reverse - - - Slide texture smoothly instead of frame-stepping - - - Rotate texture instead of using frames - - - Scale texture instead of using frames - - - - A single textured face. Don't instantiate this class yourself, use the - methods in TextureEntry - - - - - Contains the definition for individual faces - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - In the future this will specify whether a webpage is - attached to this face - - - - - - - Represents all of the texturable faces for an object - - Grid objects have infinite faces, with each face - using the properties of the default face unless set otherwise. So if - you have a TextureEntry with a default texture uuid of X, and face 18 - has a texture UUID of Y, every face would be textured with X except for - face 18 that uses Y. In practice however, primitives utilize a maximum - of nine faces - - - - - - - - - - Constructor that takes a default texture UUID - - Texture UUID to use as the default texture - - - - Constructor that takes a TextureEntryFace for the - default face - - Face to use as the default face - - - - Constructor that creates the TextureEntry class from a byte array - - Byte array containing the TextureEntry field - Starting position of the TextureEntry field in - the byte array - Length of the TextureEntry field, in bytes - - - - This will either create a new face if a custom face for the given - index is not defined, or return the custom face for that index if - it already exists - - The index number of the face to create or - retrieve - A TextureEntryFace containing all the properties for that - face - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Controls the texture animation of a particular prim - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Complete structure for the particle system - - - - Particle Flags - There appears to be more data packed in to this area - for many particle systems. It doesn't appear to be flag values - and serialization breaks unless there is a flag for every - possible bit so it is left as an unsigned integer - - - pattern of particles - - - A representing the maximimum age (in seconds) particle will be displayed - Maximum value is 30 seconds - - - A representing the number of seconds, - from when the particle source comes into view, - or the particle system's creation, that the object will emits particles; - after this time period no more particles are emitted - - - A in radians that specifies where particles will not be created - - - A in radians that specifies where particles will be created - - - A representing the number of seconds between burts. - - - A representing the number of meters - around the center of the source where particles will be created. - - - A representing in seconds, the minimum speed between bursts of new particles - being emitted - - - A representing in seconds the maximum speed of new particles being emitted. - - - A representing the maximum number of particles emitted per burst - - - A which represents the velocity (speed) from the source which particles are emitted - - - A which represents the Acceleration from the source which particles are emitted - - - The Key of the texture displayed on the particle - - - The Key of the specified target object or avatar particles will follow - - - Flags of particle from - - - Max Age particle system will emit particles for - - - The the particle has at the beginning of its lifecycle - - - The the particle has at the ending of its lifecycle - - - A that represents the starting X size of the particle - Minimum value is 0, maximum value is 4 - - - A that represents the starting Y size of the particle - Minimum value is 0, maximum value is 4 - - - A that represents the ending X size of the particle - Minimum value is 0, maximum value is 4 - - - A that represents the ending Y size of the particle - Minimum value is 0, maximum value is 4 - - - - Decodes a byte[] array into a ParticleSystem Object - - ParticleSystem object - Start position for BitPacker - - - - Generate byte[] array from particle data - - Byte array - - - - Particle source pattern - - - - None - - - Drop particles from source position with no force - - - "Explode" particles in all directions - - - Particles shoot across a 2D area - - - Particles shoot across a 3D Cone - - - Inverse of AngleCone (shoot particles everywhere except the 3D cone defined - - - - Particle Data Flags - - - - None - - - Interpolate color and alpha from start to end - - - Interpolate scale from start to end - - - Bounce particles off particle sources Z height - - - velocity of particles is dampened toward the simulators wind - - - Particles follow the source - - - Particles point towards the direction of source's velocity - - - Target of the particles - - - Particles are sent in a straight line - - - Particles emit a glow - - - used for point/grab/touch - - - - Particle Flags Enum - - - - None - - - Acceleration and velocity for particles are - relative to the object rotation - - - Particles use new 'correct' angle parameters - Parameters used to construct a visual representation of a primitive @@ -1448,6 +3777,5821 @@ that has been partially filled by an ObjectPropertiesFamily packet + + + Complete structure for the particle system + + + + Particle Flags + There appears to be more data packed in to this area + for many particle systems. It doesn't appear to be flag values + and serialization breaks unless there is a flag for every + possible bit so it is left as an unsigned integer + + + pattern of particles + + + A representing the maximimum age (in seconds) particle will be displayed + Maximum value is 30 seconds + + + A representing the number of seconds, + from when the particle source comes into view, + or the particle system's creation, that the object will emits particles; + after this time period no more particles are emitted + + + A in radians that specifies where particles will not be created + + + A in radians that specifies where particles will be created + + + A representing the number of seconds between burts. + + + A representing the number of meters + around the center of the source where particles will be created. + + + A representing in seconds, the minimum speed between bursts of new particles + being emitted + + + A representing in seconds the maximum speed of new particles being emitted. + + + A representing the maximum number of particles emitted per burst + + + A which represents the velocity (speed) from the source which particles are emitted + + + A which represents the Acceleration from the source which particles are emitted + + + The Key of the texture displayed on the particle + + + The Key of the specified target object or avatar particles will follow + + + Flags of particle from + + + Max Age particle system will emit particles for + + + The the particle has at the beginning of its lifecycle + + + The the particle has at the ending of its lifecycle + + + A that represents the starting X size of the particle + Minimum value is 0, maximum value is 4 + + + A that represents the starting Y size of the particle + Minimum value is 0, maximum value is 4 + + + A that represents the ending X size of the particle + Minimum value is 0, maximum value is 4 + + + A that represents the ending Y size of the particle + Minimum value is 0, maximum value is 4 + + + + Decodes a byte[] array into a ParticleSystem Object + + ParticleSystem object + Start position for BitPacker + + + + Generate byte[] array from particle data + + Byte array + + + + Particle source pattern + + + + None + + + Drop particles from source position with no force + + + "Explode" particles in all directions + + + Particles shoot across a 2D area + + + Particles shoot across a 3D Cone + + + Inverse of AngleCone (shoot particles everywhere except the 3D cone defined + + + + Particle Data Flags + + + + None + + + Interpolate color and alpha from start to end + + + Interpolate scale from start to end + + + Bounce particles off particle sources Z height + + + velocity of particles is dampened toward the simulators wind + + + Particles follow the source + + + Particles point towards the direction of source's velocity + + + Target of the particles + + + Particles are sent in a straight line + + + Particles emit a glow + + + used for point/grab/touch + + + + Particle Flags Enum + + + + None + + + Acceleration and velocity for particles are + relative to the object rotation + + + Particles use new 'correct' angle parameters + + + + Texture animation mode + + + + Disable texture animation + + + Enable texture animation + + + Loop when animating textures + + + Animate in reverse direction + + + Animate forward then reverse + + + Slide texture smoothly instead of frame-stepping + + + Rotate texture instead of using frames + + + Scale texture instead of using frames + + + + A single textured face. Don't instantiate this class yourself, use the + methods in TextureEntry + + + + + Contains the definition for individual faces + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + In the future this will specify whether a webpage is + attached to this face + + + + + + + Represents all of the texturable faces for an object + + Grid objects have infinite faces, with each face + using the properties of the default face unless set otherwise. So if + you have a TextureEntry with a default texture uuid of X, and face 18 + has a texture UUID of Y, every face would be textured with X except for + face 18 that uses Y. In practice however, primitives utilize a maximum + of nine faces + + + + + + + + + + Constructor that takes a default texture UUID + + Texture UUID to use as the default texture + + + + Constructor that takes a TextureEntryFace for the + default face + + Face to use as the default face + + + + Constructor that creates the TextureEntry class from a byte array + + Byte array containing the TextureEntry field + Starting position of the TextureEntry field in + the byte array + Length of the TextureEntry field, in bytes + + + + This will either create a new face if a custom face for the given + index is not defined, or return the custom face for that index if + it already exists + + The index number of the face to create or + retrieve + A TextureEntryFace containing all the properties for that + face + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Controls the texture animation of a particular prim + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A Wrapper around openjpeg to encode and decode images to and from byte arrays + + + + TGA Header size + + + OpenJPEG is not threadsafe, so this object is used to lock + during calls into unmanaged code + + + + Encode a object into a byte array + + The object to encode + true to enable lossless conversion, only useful for small images ie: sculptmaps + A byte array containing the encoded Image object + + + + Encode a object into a byte array + + The object to encode + a byte array of the encoded image + + + + Decode JPEG2000 data to an and + + + JPEG2000 encoded data + ManagedImage object to decode to + Image object to decode to + True if the decode succeeds, otherwise false + + + + + + + + + + + + + + + + + + + + + Encode a object into a byte array + + The source object to encode + true to enable lossless decoding + A byte array containing the source Bitmap object + + + + Defines the beginning and ending file positions of a layer in an + LRCP-progression JPEG2000 file + + + + + This structure is used to marshal both encoded and decoded images. + MUST MATCH THE STRUCT IN dotnet.h! + + + + + Information about a single packet in a JPEG2000 stream + + + + Packet start position + + + Packet header end position + + + Packet end position + + + + Represents an that represents an avatars body ie: Hair, Etc. + + + + + Represents a Wearable Asset, Clothing, Hair, Skin, Etc + + + + A string containing the name of the asset + + + A string containing a short description of the asset + + + The Assets WearableType + + + The For-Sale status of the object + + + An Integer representing the purchase price of the asset + + + The of the assets creator + + + The of the assets current owner + + + The of the assets prior owner + + + The of the Group this asset is set to + + + True if the asset is owned by a + + + The Permissions mask of the asset + + + A Dictionary containing Key/Value pairs of the objects parameters + + + A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures + + + Initializes a new instance of an AssetWearable object + + + Initializes a new instance of an AssetWearable object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + + + Decode an assets byte encoded data to a string + + true if the asset data was decoded successfully + + + + Encode the assets string represantion into a format consumable by the asset server + + + + Initializes a new instance of an AssetBodyPart object + + + Initializes a new instance of an AssetBodyPart object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + + Override the base classes AssetType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Permission request flags, asked when a script wants to control an Avatar + + + + Placeholder for empty values, shouldn't ever see this + + + Script wants ability to take money from you + + + Script wants to take camera controls for you + + + Script wants to remap avatars controls + + + Script wants to trigger avatar animations + This function is not implemented on the grid + + + Script wants to attach or detach the prim or primset to your avatar + + + Script wants permission to release ownership + This function is not implemented on the grid + The concept of "public" objects does not exist anymore. + + + Script wants ability to link/delink with other prims + + + Script wants permission to change joints + This function is not implemented on the grid + + + Script wants permissions to change permissions + This function is not implemented on the grid + + + Script wants to track avatars camera position and rotation + + + Script wants to control your camera + + + + Special commands used in Instant Messages + + + + Indicates a regular IM from another agent + + + Simple notification box with an OK button + + + You've been invited to join a group. + + + Inventory offer + + + Accepted inventory offer + + + Declined inventory offer + + + Group vote + + + An object is offering its inventory + + + Accept an inventory offer from an object + + + Decline an inventory offer from an object + + + Unknown + + + Start a session, or add users to a session + + + Start a session, but don't prune offline users + + + Start a session with your group + + + Start a session without a calling card (finder or objects) + + + Send a message to a session + + + Leave a session + + + Indicates that the IM is from an object + + + Sent an IM to a busy user, this is the auto response + + + Shows the message in the console and chat history + + + Send a teleport lure + + + Response sent to the agent which inititiated a teleport invitation + + + Response sent to the agent which inititiated a teleport invitation + + + Only useful if you have Linden permissions + + + A placeholder type for future expansion, currently not + used + + + IM to tell the user to go to an URL + + + IM for help + + + IM sent automatically on call for help, sends a lure + to each Helper reached + + + Like an IM but won't go to email + + + IM from a group officer to all group members + + + Unknown + + + Unknown + + + Accept a group invitation + + + Decline a group invitation + + + Unknown + + + An avatar is offering you friendship + + + An avatar has accepted your friendship offer + + + An avatar has declined your friendship offer + + + Indicates that a user has started typing + + + Indicates that a user has stopped typing + + + + Flag in Instant Messages, whether the IM should be delivered to + offline avatars as well + + + + Only deliver to online avatars + + + If the avatar is offline the message will be held until + they login next, and possibly forwarded to their e-mail account + + + + Conversion type to denote Chat Packet types in an easier-to-understand format + + + + Whisper (5m radius) + + + Normal chat (10/20m radius), what the official viewer typically sends + + + Shouting! (100m radius) + + + Event message when an Avatar has begun to type + + + Event message when an Avatar has stopped typing + + + Send the message to the debug channel + + + Event message when an object uses llOwnerSay + + + Special value to support llRegionSay, never sent to the client + + + + Identifies the source of a chat message + + + + Chat from the grid or simulator + + + Chat from another avatar + + + Chat from an object + + + + + + + + + + + + + + + + + + Effect type used in ViewerEffect packets + + + + + + + + + + + + + + + + + + + + + + + + + Project a beam from a source to a destination, such as + the one used when editing an object + + + + + + + + + + + + Create a swirl of particles around an object + + + + + + + + + Cause an avatar to look at an object + + + Cause an avatar to point at an object + + + + The action an avatar is doing when looking at something, used in + ViewerEffect packets for the LookAt effect + + + + + + + + + + + + + + + + + + + + + + Deprecated + + + + + + + + + + + + + + + + The action an avatar is doing when pointing at something, used in + ViewerEffect packets for the PointAt effect + + + + + + + + + + + + + + + + + Money transaction types + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flags sent when a script takes or releases a control + + NOTE: (need to verify) These might be a subset of the ControlFlags enum in Movement, + + + No Flags set + + + Forward (W or up Arrow) + + + Back (S or down arrow) + + + Move left (shift+A or left arrow) + + + Move right (shift+D or right arrow) + + + Up (E or PgUp) + + + Down (C or PgDown) + + + Rotate left (A or left arrow) + + + Rotate right (D or right arrow) + + + Left Mouse Button + + + Left Mouse button in MouseLook + + + + Currently only used to hide your group title + + + + No flags set + + + Hide your group title + + + + Action state of the avatar, which can currently be typing and + editing + + + + + + + + + + + + + + Current teleport status + + + + Unknown status + + + Teleport initialized + + + Teleport in progress + + + Teleport failed + + + Teleport completed + + + Teleport cancelled + + + + + + + + No flags set, or teleport failed + + + Set when newbie leaves help island for first time + + + + + + Via Lure + + + Via Landmark + + + Via Location + + + Via Home + + + Via Telehub + + + Via Login + + + Linden Summoned + + + Linden Forced me + + + + + + Agent Teleported Home via Script + + + + + + + + + + + + forced to new location for example when avatar is banned or ejected + + + Teleport Finished via a Lure + + + Finished, Sim Changed + + + Finished, Same Sim + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Instant Message + + + + Key of sender + + + Name of sender + + + Key of destination avatar + + + ID of originating estate + + + Key of originating region + + + Coordinates in originating region + + + Instant message type + + + Group IM session toggle + + + Key of IM session, for Group Messages, the groups UUID + + + Timestamp of the instant message + + + Instant message text + + + Whether this message is held for offline avatars + + + Context specific packed data + + + Print the struct data as a string + A string containing the field name, and field value + + + + Manager class for our own avatar + + + + The event subscribers. null if no subcribers + + + Raises the ChatFromSimulator event + A ChatEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ScriptDialog event + A SctriptDialogEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ScriptQuestion event + A ScriptQuestionEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the LoadURL event + A LoadUrlEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the MoneyBalance event + A BalanceEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the MoneyBalanceReply event + A MoneyBalanceReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the IM event + A InstantMessageEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the TeleportProgress event + A TeleportEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the AgentDataReply event + A AgentDataReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the AnimationsChanged event + A AnimationsChangedEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the MeanCollision event + A MeanCollisionEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the RegionCrossed event + A RegionCrossedEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the GroupChatJoined event + A GroupChatJoinedEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the AlertMessage event + A AlertMessageEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ScriptControlChange event + A ScriptControlEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the CameraConstraint event + A CameraConstraintEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ScriptSensorReply event + A ScriptSensorReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the AvatarSitResponse event + A AvatarSitResponseEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ChatSessionMemberAdded event + A ChatSessionMemberAddedEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ChatSessionMemberLeft event + A ChatSessionMemberLeftEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Reference to the GridClient instance + + + Used for movement and camera tracking + + + Currently playing animations for the agent. Can be used to + check the current movement status such as walking, hovering, aiming, + etc. by checking against system animations found in the Animations class + + + Dictionary containing current Group Chat sessions and members + + + + Constructor, setup callbacks for packets related to our avatar + + A reference to the Class + + + + Send a text message from the Agent to the Simulator + + A containing the message + The channel to send the message on, 0 is the public channel. Channels above 0 + can be used however only scripts listening on the specified channel will see the message + Denotes the type of message being sent, shout, whisper, etc. + + + + Request any instant messages sent while the client was offline to be resent. + + + + + Send an Instant Message to another Avatar + + The recipients + A containing the message to send + + + + Send an Instant Message to an existing group chat or conference chat + + The recipients + A containing the message to send + IM session ID (to differentiate between IM windows) + + + + Send an Instant Message + + The name this IM will show up as being from + Key of Avatar + Text message being sent + IM session ID (to differentiate between IM windows) + IDs of sessions for a conference + + + + Send an Instant Message + + The name this IM will show up as being from + Key of Avatar + Text message being sent + IM session ID (to differentiate between IM windows) + Type of instant message to send + Whether to IM offline avatars as well + Senders Position + RegionID Sender is In + Packed binary data that is specific to + the dialog type + + + + Send an Instant Message to a group + + of the group to send message to + Text Message being sent. + + + + Send an Instant Message to a group the agent is a member of + + The name this IM will show up as being from + of the group to send message to + Text message being sent + + + + Send a request to join a group chat session + + of Group to leave + + + + Exit a group chat session. This will stop further Group chat messages + from being sent until session is rejoined. + + of Group chat session to leave + + + + Reply to script dialog questions. + + Channel initial request came on + Index of button you're "clicking" + Label of button you're "clicking" + of Object that sent the dialog request + + + + + Accept invite for to a chatterbox session + + of session to accept invite to + + + + Start a friends conference + + List of UUIDs to start a conference with + the temportary session ID returned in the callback> + + + + Start a particle stream between an agent and an object + + Key of the source agent + Key of the target object + + The type from the enum + A unique for this effect + + + + Start a particle stream between an agent and an object + + Key of the source agent + Key of the target object + A representing the beams offset from the source + A which sets the avatars lookat animation + of the Effect + + + + Create a particle beam between an avatar and an primitive + + The ID of source avatar + The ID of the target primitive + global offset + A object containing the combined red, green, blue and alpha + color values of particle beam + a float representing the duration the parcicle beam will last + A Unique ID for the beam + + + + + Create a particle swirl around a target position using a packet + + global offset + A object containing the combined red, green, blue and alpha + color values of particle beam + a float representing the duration the parcicle beam will last + A Unique ID for the beam + + + + Sends a request to sit on the specified object + + of the object to sit on + Sit at offset + + + + Follows a call to to actually sit on the object + + + + Stands up from sitting on a prim or the ground + true of AgentUpdate was sent + + + + Does a "ground sit" at the avatar's current position + + + + + Starts or stops flying + + True to start flying, false to stop flying + + + + Starts or stops crouching + + True to start crouching, false to stop crouching + + + + Starts a jump (begin holding the jump key) + + + + + Use the autopilot sim function to move the avatar to a new + position. Uses double precision to get precise movements + + The z value is currently not handled properly by the simulator + Global X coordinate to move to + Global Y coordinate to move to + Z coordinate to move to + + + + Use the autopilot sim function to move the avatar to a new position + + The z value is currently not handled properly by the simulator + Integer value for the global X coordinate to move to + Integer value for the global Y coordinate to move to + Floating-point value for the Z coordinate to move to + + + + Use the autopilot sim function to move the avatar to a new position + + The z value is currently not handled properly by the simulator + Integer value for the local X coordinate to move to + Integer value for the local Y coordinate to move to + Floating-point value for the Z coordinate to move to + + + Macro to cancel autopilot sim function + Not certain if this is how it is really done + true if control flags were set and AgentUpdate was sent to the simulator + + + + Grabs an object + + an unsigned integer of the objects ID within the simulator + + + + + Overload: Grab a simulated object + + an unsigned integer of the objects ID within the simulator + + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space + + + + Drag an object + + of the object to drag + Drag target in region coordinates + + + + Overload: Drag an object + + of the object to drag + Drag target in region coordinates + + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space + + + + Release a grabbed object + + The Objects Simulator Local ID + + + + + + + Release a grabbed object + + The Objects Simulator Local ID + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space + + + + Touches an object + + an unsigned integer of the objects ID within the simulator + + + + + Request the current L$ balance + + + + + Give Money to destination Avatar + + UUID of the Target Avatar + Amount in L$ + + + + Give Money to destination Avatar + + UUID of the Target Avatar + Amount in L$ + Description that will show up in the + recipients transaction history + + + + Give L$ to an object + + object to give money to + amount of L$ to give + name of object + + + + Give L$ to a group + + group to give money to + amount of L$ to give + + + + Give L$ to a group + + group to give money to + amount of L$ to give + description of transaction + + + + Pay texture/animation upload fee + + + + + Pay texture/animation upload fee + + description of the transaction + + + + Give Money to destination Object or Avatar + + UUID of the Target Object/Avatar + Amount in L$ + Reason (Optional normally) + The type of transaction + Transaction flags, mostly for identifying group + transactions + + + + Plays a gesture + + Asset of the gesture + + + + Mark gesture active + + Inventory of the gesture + Asset of the gesture + + + + Mark gesture inactive + + Inventory of the gesture + + + + Send an AgentAnimation packet that toggles a single animation on + + The of the animation to start playing + Whether to ensure delivery of this packet or not + + + + Send an AgentAnimation packet that toggles a single animation off + + The of a + currently playing animation to stop playing + Whether to ensure delivery of this packet or not + + + + Send an AgentAnimation packet that will toggle animations on or off + + A list of animation s, and whether to + turn that animation on or off + Whether to ensure delivery of this packet or not + + + + Teleports agent to their stored home location + + true on successful teleport to home location + + + + Teleport agent to a landmark + + of the landmark to teleport agent to + true on success, false on failure + + + + Attempt to look up a simulator name and teleport to the discovered + destination + + Region name to look up + Position to teleport to + True if the lookup and teleport were successful, otherwise + false + + + + Attempt to look up a simulator name and teleport to the discovered + destination + + Region name to look up + Position to teleport to + Target to look at + True if the lookup and teleport were successful, otherwise + false + + + + Teleport agent to another region + + handle of region to teleport agent to + position in destination sim to teleport to + true on success, false on failure + This call is blocking + + + + Teleport agent to another region + + handle of region to teleport agent to + position in destination sim to teleport to + direction in destination sim agent will look at + true on success, false on failure + This call is blocking + + + + Request teleport to a another simulator + + handle of region to teleport agent to + position in destination sim to teleport to + + + + Request teleport to a another simulator + + handle of region to teleport agent to + position in destination sim to teleport to + direction in destination sim agent will look at + + + + Teleport agent to a landmark + + of the landmark to teleport agent to + + + + Send a teleport lure to another avatar with default "Join me in ..." invitation message + + target avatars to lure + + + + Send a teleport lure to another avatar with custom invitation message + + target avatars to lure + custom message to send with invitation + + + + Respond to a teleport lure by either accepting it and initiating + the teleport, or denying it + + of the avatar sending the lure + IM session of the incoming lure request + true to accept the lure, false to decline it + + + + Update agent profile + + struct containing updated + profile information + + + + Update agents profile interests + + selection of interests from struct + + + + Set the height and the width of the client window. This is used + by the server to build a virtual camera frustum for our avatar + + New height of the viewer window + New width of the viewer window + + + + Request the list of muted objects and avatars for this agent + + + + + Sets home location to agents current position + + will fire an AlertMessage () with + success or failure message + + + + Move an agent in to a simulator. This packet is the last packet + needed to complete the transition in to a new simulator + + Object + + + + Reply to script permissions request + + Object + of the itemID requesting permissions + of the taskID requesting permissions + list of permissions to allow + + + + Respond to a group invitation by either accepting or denying it + + UUID of the group (sent in the AgentID field of the invite message) + IM Session ID from the group invitation message + Accept the group invitation or deny it + + + + Requests script detection of objects and avatars + + name of the object/avatar to search for + UUID of the object or avatar to search for + Type of search from ScriptSensorTypeFlags + range of scan (96 max?) + the arc in radians to search within + an user generated ID to correlate replies with + Simulator to perform search in + + + + Create or update profile pick + + UUID of the pick to update, or random UUID to create a new pick + Is this a top pick? (typically false) + UUID of the parcel (UUID.Zero for the current parcel) + Name of the pick + Global position of the pick landmark + UUID of the image displayed with the pick + Long description of the pick + + + + Delete profile pick + + UUID of the pick to delete + + + + Create or update profile Classified + + UUID of the classified to update, or random UUID to create a new classified + Defines what catagory the classified is in + UUID of the image displayed with the classified + Price that the classified will cost to place for a week + Global position of the classified landmark + Name of the classified + Long description of the classified + if true, auto renew classified after expiration + + + + Create or update profile Classified + + UUID of the classified to update, or random UUID to create a new classified + Defines what catagory the classified is in + UUID of the image displayed with the classified + Price that the classified will cost to place for a week + Name of the classified + Long description of the classified + if true, auto renew classified after expiration + + + + Delete a classified ad + + The classified ads ID + + + + Fetches resource usage by agents attachmetns + + Called when the requested information is collected + + + + Take an incoming ImprovedInstantMessage packet, auto-parse, and if + OnInstantMessage is defined call that with the appropriate arguments + + The sender + The EventArgs object containing the packet data + + + + Take an incoming Chat packet, auto-parse, and if OnChat is defined call + that with the appropriate arguments. + + The sender + The EventArgs object containing the packet data + + + + Used for parsing llDialogs + + The sender + The EventArgs object containing the packet data + + + + Used for parsing llRequestPermissions dialogs + + The sender + The EventArgs object containing the packet data + + + + Handles Script Control changes when Script with permissions releases or takes a control + + The sender + The EventArgs object containing the packet data + + + + Used for parsing llLoadURL Dialogs + + The sender + The EventArgs object containing the packet data + + + + Update client's Position, LookAt and region handle from incoming packet + + The sender + The EventArgs object containing the packet data + This occurs when after an avatar moves into a new sim + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + Process TeleportFailed message sent via EventQueue, informs agent its last teleport has failed and why. + + The Message Key + An IMessage object Deserialized from the recieved message event + The simulator originating the event message + + + + Process TeleportFinish from Event Queue and pass it onto our TeleportHandler + + The message system key for this event + IMessage object containing decoded data from OSD + The simulator originating the event message + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + Crossed region handler for message that comes across the EventQueue. Sent to an agent + when the agent crosses a sim border into a new region. + + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + This packet is now being sent via the EventQueue + + + + Group Chat event handler + + The capability Key + IMessage object containing decoded data from OSD + + + + + Response from request to join a group chat + + + IMessage object containing decoded data from OSD + + + + + Someone joined or left group chat + + + IMessage object containing decoded data from OSD + + + + + Handle a group chat Invitation + + Caps Key + IMessage object containing decoded data from OSD + Originating Simulator + + + + Moderate a chat session + + the of the session to moderate, for group chats this will be the groups UUID + the of the avatar to moderate + Either "voice" to moderate users voice, or "text" to moderate users text session + true to moderate (silence user), false to allow avatar to speak + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Raised when a scripted object or agent within range sends a public message + + + Raised when a scripted object sends a dialog box containing possible + options an agent can respond to + + + Raised when an object requests a change in the permissions an agent has permitted + + + Raised when a script requests an agent open the specified URL + + + Raised when an agents currency balance is updated + + + Raised when a transaction occurs involving currency such as a land purchase + + + Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from + private messaging to friendship offers. The Dialog field defines what type of message has arrived + + + Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times + for each teleport indicating the progress of the request + + + Raised when a simulator sends agent specific information for our avatar. + + + Raised when our agents animation playlist changes + + + Raised when an object or avatar forcefully collides with our agent + + + Raised when our agent crosses a region border into another region + + + Raised when our agent succeeds or fails to join a group chat session + + + Raised when a simulator sends an urgent message usually indication the recent failure of + another action we have attempted to take such as an attempt to enter a parcel where we are denied access + + + Raised when a script attempts to take or release specified controls for our agent + + + Raised when the simulator detects our agent is trying to view something + beyond its limits + + + Raised when a script sensor reply is received from a simulator + + + Raised in response to a request + + + Raised when an avatar enters a group chat session we are participating in + + + Raised when an agent exits a group chat session we are participating in + + + Your (client) avatars + "client", "agent", and "avatar" all represent the same thing + + + Temporary assigned to this session, used for + verifying our identity in packets + + + Shared secret that is never sent over the wire + + + Your (client) avatar ID, local to the current region/sim + + + Where the avatar started at login. Can be "last", "home" + or a login + + + The access level of this agent, usually M or PG + + + The CollisionPlane of Agent + + + An representing the velocity of our agent + + + An representing the acceleration of our agent + + + A which specifies the angular speed, and axis about which an Avatar is rotating. + + + Position avatar client will goto when login to 'home' or during + teleport request to 'home' region. + + + LookAt point saved/restored with HomePosition + + + Avatar First Name (i.e. Philip) + + + Avatar Last Name (i.e. Linden) + + + Avatar Full Name (i.e. Philip Linden) + + + Gets the health of the agent + + + Gets the current balance of the agent + + + Gets the local ID of the prim the agent is sitting on, + zero if the avatar is not currently sitting + + + Gets the of the agents active group. + + + Gets the Agents powers in the currently active group + + + Current status message for teleporting + + + Current position of the agent as a relative offset from + the simulator, or the parent object if we are sitting on something + + + Current rotation of the agent as a relative rotation from + the simulator, or the parent object if we are sitting on something + + + Current position of the agent in the simulator + + + + A representing the agents current rotation + + + + Returns the global grid position of the avatar + + + + Called once attachment resource usage information has been collected + + Indicates if operation was successfull + Attachment resource usage information + + + + Used to specify movement actions for your agent + + + + Empty flag + + + Move Forward (SL Keybinding: W/Up Arrow) + + + Move Backward (SL Keybinding: S/Down Arrow) + + + Move Left (SL Keybinding: Shift-(A/Left Arrow)) + + + Move Right (SL Keybinding: Shift-(D/Right Arrow)) + + + Not Flying: Jump/Flying: Move Up (SL Keybinding: E) + + + Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) + + + Unused + + + Unused + + + Unused + + + Unused + + + ORed with AGENT_CONTROL_AT_* if the keyboard is being used + + + ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used + + + ORed with AGENT_CONTROL_UP_* if the keyboard is being used + + + Fly + + + + + + Finish our current animation + + + Stand up from the ground or a prim seat + + + Sit on the ground at our current location + + + Whether mouselook is currently enabled + + + Legacy, used if a key was pressed for less than a certain amount of time + + + Legacy, used if a key was pressed for less than a certain amount of time + + + Legacy, used if a key was pressed for less than a certain amount of time + + + Legacy, used if a key was pressed for less than a certain amount of time + + + Legacy, used if a key was pressed for less than a certain amount of time + + + Legacy, used if a key was pressed for less than a certain amount of time + + + + + + + + + Set when the avatar is idled or set to away. Note that the away animation is + activated separately from setting this flag + + + + + + + + + + + + + + + + Agent movement and camera control + + Agent movement is controlled by setting specific + After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags + This is most easily accomplished by setting one or more of the AgentMovement properties + + Movement of an avatar is always based on a compass direction, for example AtPos will move the + agent from West to East or forward on the X Axis, AtNeg will of course move agent from + East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis + The Z axis is Up, finer grained control of movements can be done using the Nudge properties + + + + Agent camera controls + + + Currently only used for hiding your group title + + + Action state of the avatar, which can currently be + typing and editing + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Timer for sending AgentUpdate packets + + + Default constructor + + + + Send an AgentUpdate with the camera set at the current agent + position and pointing towards the heading specified + + Camera rotation in radians + Whether to send the AgentUpdate reliable + or not + + + + Rotates the avatar body and camera toward a target position. + This will also anchor the camera position on the avatar + + Region coordinates to turn toward + + + + Send new AgentUpdate packet to update our current camera + position and rotation + + + + + Send new AgentUpdate packet to update our current camera + position and rotation + + Whether to require server acknowledgement + of this packet + + + + Send new AgentUpdate packet to update our current camera + position and rotation + + Whether to require server acknowledgement + of this packet + Simulator to send the update to + + + + Builds an AgentUpdate packet entirely from parameters. This + will not touch the state of Self.Movement or + Self.Movement.Camera in any way + + + + + + + + + + + + + + + Move agent positive along the X axis + + + Move agent negative along the X axis + + + Move agent positive along the Y axis + + + Move agent negative along the Y axis + + + Move agent positive along the Z axis + + + Move agent negative along the Z axis + + + + + + + + + + + + + + + + + + + + + + + + Causes simulator to make agent fly + + + Stop movement + + + Finish animation + + + Stand up from a sit + + + Tells simulator to sit agent on ground + + + Place agent into mouselook mode + + + Nudge agent positive along the X axis + + + Nudge agent negative along the X axis + + + Nudge agent positive along the Y axis + + + Nudge agent negative along the Y axis + + + Nudge agent positive along the Z axis + + + Nudge agent negative along the Z axis + + + + + + + + + Tell simulator to mark agent as away + + + + + + + + + + + + + + + + Returns "always run" value, or changes it by sending a SetAlwaysRunPacket + + + + The current value of the agent control flags + + + Gets or sets the interval in milliseconds at which + AgentUpdate packets are sent to the current simulator. Setting + this to a non-zero value will also enable the packet sending if + it was previously off, and setting it to zero will disable + + + Gets or sets whether AgentUpdate packets are sent to + the current simulator + + + Reset movement controls every time we send an update + + + + Camera controls for the agent, mostly a thin wrapper around + CoordinateFrame. This class is only responsible for state + tracking and math, it does not send any packets + + + + + + + The camera is a local frame of reference inside of + the larger grid space. This is where the math happens + + + + Default constructor + + + + + + + + + + + + + + + + + + + + + + Construct a new instance of the ChatEventArgs object + + Sim from which the message originates + The message sent + The audible level of the message + The type of message sent: whisper, shout, etc + The source type of the message sender + The name of the agent or object sending the message + The ID of the agent or object sending the message + The ID of the object owner, or the agent ID sending the message + The position of the agent or object sending the message + + + Get the simulator sending the message + + + Get the message sent + + + Get the audible level of the message + + + Get the type of message sent: whisper, shout, etc + + + Get the source type of the message sender + + + Get the name of the agent or object sending the message + + + Get the ID of the agent or object sending the message + + + Get the ID of the object owner, or the agent ID sending the message + + + Get the position of the agent or object sending the message + + + Contains the data sent when a primitive opens a dialog with this agent + + + + Construct a new instance of the ScriptDialogEventArgs + + The dialog message + The name of the object that sent the dialog request + The ID of the image to be displayed + The ID of the primitive sending the dialog + The first name of the senders owner + The last name of the senders owner + The communication channel the dialog was sent on + The string labels containing the options presented in this dialog + + + Get the dialog message + + + Get the name of the object that sent the dialog request + + + Get the ID of the image to be displayed + + + Get the ID of the primitive sending the dialog + + + Get the first name of the senders owner + + + Get the last name of the senders owner + + + Get the communication channel the dialog was sent on, responses + should also send responses on this same channel + + + Get the string labels containing the options presented in this dialog + + + Contains the data sent when a primitive requests debit or other permissions + requesting a YES or NO answer + + + + Construct a new instance of the ScriptQuestionEventArgs + + The simulator containing the object sending the request + The ID of the script making the request + The ID of the primitive containing the script making the request + The name of the primitive making the request + The name of the owner of the object making the request + The permissions being requested + + + Get the simulator containing the object sending the request + + + Get the ID of the script making the request + + + Get the ID of the primitive containing the script making the request + + + Get the name of the primitive making the request + + + Get the name of the owner of the object making the request + + + Get the permissions being requested + + + Contains the data sent when a primitive sends a request + to an agent to open the specified URL + + + + Construct a new instance of the LoadUrlEventArgs + + The name of the object sending the request + The ID of the object sending the request + The ID of the owner of the object sending the request + True if the object is owned by a group + The message sent with the request + The URL the object sent + + + Get the name of the object sending the request + + + Get the ID of the object sending the request + + + Get the ID of the owner of the object sending the request + + + True if the object is owned by a group + + + Get the message sent with the request + + + Get the URL the object sent + + + The date received from an ImprovedInstantMessage + + + + Construct a new instance of the InstantMessageEventArgs object + + the InstantMessage object + the simulator where the InstantMessage origniated + + + Get the InstantMessage object + + + Get the simulator where the InstantMessage origniated + + + Contains the currency balance + + + + Construct a new BalanceEventArgs object + + The currenct balance + + + + Get the currenct balance + + + + Contains the transaction summary when an item is purchased, + money is given, or land is purchased + + + + Construct a new instance of the MoneyBalanceReplyEventArgs object + + The ID of the transaction + True of the transaction was successful + The current currency balance + The meters credited + The meters comitted + A brief description of the transaction + + + Get the ID of the transaction + + + True of the transaction was successful + + + Get the remaining currency balance + + + Get the meters credited + + + Get the meters comitted + + + Get the description of the transaction + + + Data sent from the simulator containing information about your agent and active group information + + + + Construct a new instance of the AgentDataReplyEventArgs object + + The agents first name + The agents last name + The agents active group ID + The group title of the agents active group + The combined group powers the agent has in the active group + The name of the group the agent has currently active + + + Get the agents first name + + + Get the agents last name + + + Get the active group ID of your agent + + + Get the active groups title of your agent + + + Get the combined group powers of your agent + + + Get the active group name of your agent + + + Data sent by the simulator to indicate the active/changed animations + applied to your agent + + + + Construct a new instance of the AnimationsChangedEventArgs class + + The dictionary that contains the changed animations + + + Get the dictionary that contains the changed animations + + + + Data sent from a simulator indicating a collision with your agent + + + + + Construct a new instance of the MeanCollisionEventArgs class + + The type of collision that occurred + The ID of the agent or object that perpetrated the agression + The ID of the Victim + The strength of the collision + The Time the collision occurred + + + Get the Type of collision + + + Get the ID of the agent or object that collided with your agent + + + Get the ID of the agent that was attacked + + + A value indicating the strength of the collision + + + Get the time the collision occurred + + + Data sent to your agent when it crosses region boundaries + + + + Construct a new instance of the RegionCrossedEventArgs class + + The simulator your agent just left + The simulator your agent is now in + + + Get the simulator your agent just left + + + Get the simulator your agent is now in + + + Data sent from the simulator when your agent joins a group chat session + + + + Construct a new instance of the GroupChatJoinedEventArgs class + + The ID of the session + The name of the session + A temporary session id used for establishing new sessions + True of your agent successfully joined the session + + + Get the ID of the group chat session + + + Get the name of the session + + + Get the temporary session ID used for establishing new sessions + + + True if your agent successfully joined the session + + + Data sent by the simulator containing urgent messages + + + + Construct a new instance of the AlertMessageEventArgs class + + The alert message + + + Get the alert message + + + Data sent by a script requesting to take or release specified controls to your agent + + + + Construct a new instance of the ScriptControlEventArgs class + + The controls the script is attempting to take or release to the agent + True if the script is passing controls back to the agent + True if the script is requesting controls be released to the script + + + Get the controls the script is attempting to take or release to the agent + + + True if the script is passing controls back to the agent + + + True if the script is requesting controls be released to the script + + + + Data sent from the simulator to an agent to indicate its view limits + + + + + Construct a new instance of the CameraConstraintEventArgs class + + The collision plane + + + Get the collision plane + + + + Data containing script sensor requests which allow an agent to know the specific details + of a primitive sending script sensor requests + + + + + Construct a new instance of the ScriptSensorReplyEventArgs + + The ID of the primitive sending the sensor + The ID of the group associated with the primitive + The name of the primitive sending the sensor + The ID of the primitive sending the sensor + The ID of the owner of the primitive sending the sensor + The position of the primitive sending the sensor + The range the primitive specified to scan + The rotation of the primitive sending the sensor + The type of sensor the primitive sent + The velocity of the primitive sending the sensor + + + Get the ID of the primitive sending the sensor + + + Get the ID of the group associated with the primitive + + + Get the name of the primitive sending the sensor + + + Get the ID of the primitive sending the sensor + + + Get the ID of the owner of the primitive sending the sensor + + + Get the position of the primitive sending the sensor + + + Get the range the primitive specified to scan + + + Get the rotation of the primitive sending the sensor + + + Get the type of sensor the primitive sent + + + Get the velocity of the primitive sending the sensor + + + Contains the response data returned from the simulator in response to a + + + Construct a new instance of the AvatarSitResponseEventArgs object + + + Get the ID of the primitive the agent will be sitting on + + + True if the simulator Autopilot functions were involved + + + Get the camera offset of the agent when seated + + + Get the camera eye offset of the agent when seated + + + True of the agent will be in mouselook mode when seated + + + Get the position of the agent when seated + + + Get the rotation of the agent when seated + + + Data sent when an agent joins a chat session your agent is currently participating in + + + + Construct a new instance of the ChatSessionMemberAddedEventArgs object + + The ID of the chat session + The ID of the agent joining + + + Get the ID of the chat session + + + Get the ID of the agent that joined + + + Data sent when an agent exits a chat session your agent is currently participating in + + + + Construct a new instance of the ChatSessionMemberLeftEventArgs object + + The ID of the chat session + The ID of the Agent that left + + + Get the ID of the chat session + + + Get the ID of the agent that left + + + + Return a decoded capabilities message as a strongly typed object + + A string containing the name of the capabilities message key + An to decode + A strongly typed object containing the decoded information from the capabilities message, or null + if no existing Message object exists for the specified event + + + + Represents a string of characters encoded with specific formatting properties + + + + A text string containing main text of the notecard + + + List of s embedded on the notecard + + + Construct an Asset of type Notecard + + + + Construct an Asset object of type Notecard + + A unique specific to this asset + A byte array containing the raw asset data + + + + Encode the raw contents of a string with the specific Linden Text properties + + + + + Decode the raw asset data including the Linden Text properties + + true if the AssetData was successfully decoded + + + Override the base classes AssetType + + + + Class for controlling various system settings. + + Some values are readonly because they affect things that + happen when the GridClient object is initialized, so changing them at + runtime won't do any good. Non-readonly values may affect things that + happen at login or dynamically + + + Main grid login server + + + Beta grid login server + + + + InventoryManager requests inventory information on login, + GridClient initializes an Inventory store for main inventory. + + + + + InventoryManager requests library information on login, + GridClient initializes an Inventory store for the library. + + + + Number of milliseconds between sending pings to each sim + + + Number of milliseconds between sending camera updates + + + Number of milliseconds between updating the current + positions of moving, non-accelerating and non-colliding objects + + + Millisecond interval between ticks, where all ACKs are + sent out and the age of unACKed packets is checked + + + The initial size of the packet inbox, where packets are + stored before processing + + + Maximum size of packet that we want to send over the wire + + + The maximum value of a packet sequence number before it + rolls over back to one + + + The maximum size of the sequence number archive, used to + check for resent and/or duplicate packets + + + The relative directory where external resources are kept + + + Login server to connect to + + + IP Address the client will bind to + + + Use XML-RPC Login or LLSD Login, default is XML-RPC Login + + + Number of milliseconds before an asset transfer will time + out + + + Number of milliseconds before a teleport attempt will time + out + + + Number of milliseconds before NetworkManager.Logout() will + time out + + + Number of milliseconds before a CAPS call will time out + Setting this too low will cause web requests time out and + possibly retry repeatedly + + + Number of milliseconds for xml-rpc to timeout + + + Milliseconds before a packet is assumed lost and resent + + + Milliseconds without receiving a packet before the + connection to a simulator is assumed lost + + + Milliseconds to wait for a simulator info request through + the grid interface + + + Maximum number of queued ACKs to be sent before SendAcks() + is forced + + + Network stats queue length (seconds) + + + Enable/disable storing terrain heightmaps in the + TerrainManager + + + Enable/disable sending periodic camera updates + + + Enable/disable automatically setting agent appearance at + login and after sim crossing + + + Enable/disable automatically setting the bandwidth throttle + after connecting to each simulator + The default throttle uses the equivalent of the maximum + bandwidth setting in the official client. If you do not set a + throttle your connection will by default be throttled well below + the minimum values and you may experience connection problems + + + Enable/disable the sending of pings to monitor lag and + packet loss + + + Should we connect to multiple sims? This will allow + viewing in to neighboring simulators and sim crossings + (Experimental) + + + If true, all object update packets will be decoded in to + native objects. If false, only updates for our own agent will be + decoded. Registering an event handler will force objects for that + type to always be decoded. If this is disabled the object tracking + will have missing or partial prim and avatar information + + + If true, when a cached object check is received from the + server the full object info will automatically be requested + + + Whether to establish connections to HTTP capabilities + servers for simulators + + + Whether to decode sim stats + + + The capabilities servers are currently designed to + periodically return a 502 error which signals for the client to + re-establish a connection. Set this to true to log those 502 errors + + + If true, any reference received for a folder or item + the library is not aware of will automatically be fetched + + + If true, and SEND_AGENT_UPDATES is true, + AgentUpdate packets will continuously be sent out to give the bot + smoother movement and autopiloting + + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectAvatars. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received + + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectPrimitives. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received + + + If true, position and velocity will periodically be + interpolated (extrapolated, technically) for objects and + avatars that are being tracked by the library. This is + necessary to increase the accuracy of speed and position + estimates for simulated objects + + + + If true, utilization statistics will be tracked. There is a minor penalty + in CPU time for enabling this option. + + + + If true, parcel details will be stored in the + Simulator.Parcels dictionary as they are received + + + + If true, an incoming parcel properties reply will automatically send + a request for the parcel access list + + + + + if true, an incoming parcel properties reply will automatically send + a request for the traffic count. + + + + + If true, images, and other assets downloaded from the server + will be cached in a local directory + + + + Path to store cached texture data + + + Maximum size cached files are allowed to take on disk (bytes) + + + Default color used for viewer particle effects + + + Maximum number of times to resend a failed packet + + + Throttle outgoing packet rate + + + UUID of a texture used by some viewers to indentify type of client used + + + + Download textures using GetTexture capability when available + + + + The maximum number of concurrent texture downloads allowed + Increasing this number will not necessarily increase texture retrieval times due to + simulator throttles + + + + The Refresh timer inteval is used to set the delay between checks for stalled texture downloads + + This is a static variable which applies to all instances + + + + Textures taking longer than this value will be flagged as timed out and removed from the pipeline + + + + + Get or set the minimum log level to output to the console by default + + If the library is not compiled with DEBUG defined and this level is set to DEBUG + You will get no output on the console. This behavior can be overriden by creating + a logger configuration file for log4net + + + + Attach avatar names to log messages + + + Log packet retransmission info + + + Constructor + Reference to a GridClient object + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Cost of uploading an asset + Read-only since this value is dynamically fetched at login + + + + NetworkManager is responsible for managing the network layer of + OpenMetaverse. It tracks all the server connections, serializes + outgoing traffic and deserializes incoming traffic, and provides + instances of delegates for network-related events. + + + Login Routines + + + + The event subscribers, null of no subscribers + + + Raises the PacketSent Event + A PacketSentEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the LoggedOut Event + A LoggedOutEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the SimConnecting Event + A SimConnectingEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the SimConnected Event + A SimConnectedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the SimDisconnected Event + A SimDisconnectedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the Disconnected Event + A DisconnectedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the SimChanged Event + A SimChangedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the EventQueueRunning Event + A EventQueueRunningEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + All of the simulators we are currently connected to + + + Handlers for incoming capability events + + + Handlers for incoming packets + + + Incoming packets that are awaiting handling + + + Outgoing packets that are awaiting handling + + + + Default constructor + + Reference to the GridClient object + + + + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + + Packet type to trigger events for + Callback to fire when a packet of this type + is received + + + + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + + Packet type to trigger events for + Callback to fire when a packet of this type + is received + True if the callback should be ran + asynchronously. Only set this to false (synchronous for callbacks + that will always complete quickly) + If any callback for a packet type is marked as + asynchronous, all callbacks for that packet type will be fired + asynchronously + + + + Unregister an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + + Packet type this callback is registered with + Callback to stop firing events for + + + + Register a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library + + Name of the CAPS event to register a handler for + Callback to fire when a CAPS event is received + + + + Unregister a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library + + Name of the CAPS event this callback is + registered with + Callback to stop firing events for + + + + Send a packet to the simulator the avatar is currently occupying + + Packet to send + + + + Send a packet to a specified simulator + + Packet to send + Simulator to send the packet to + + + + Connect to a simulator + + IP address to connect to + Port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null + + + + Connect to a simulator + + IP address and port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null + + + + Initiate a blocking logout request. This will return when the logout + handshake has completed or when Settings.LOGOUT_TIMEOUT + has expired and the network layer is manually shut down + + + + + Initiate the logout process. Check if logout succeeded with the + OnLogoutReply event, and if this does not fire the + Shutdown() function needs to be manually called + + + + + Close a connection to the given simulator + + + + + + + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout + + Type of shutdown + + + + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout + + Type of shutdown + Shutdown message + + + + Searches through the list of currently connected simulators to find + one attached to the given IPEndPoint + + IPEndPoint of the Simulator to search for + A Simulator reference on success, otherwise null + + + + Fire an event when an event queue connects for capabilities + + Simulator the event queue is attached to + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + The event subscribers, null of no subscribers + + + Raises the LoginProgress Event + A LoginProgressEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Seed CAPS URL returned from the login server + + + A list of packets obtained during the login process which + networkmanager will log but not process + + + + Generate sane default values for a login request + + Account first name + Account last name + Account password + Client application name + Client application version + A populated struct containing + sane defaults + + + + Simplified login that takes the most common and required fields + + Account first name + Account last name + Account password + Client application name + Client application version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error + + + + Simplified login that takes the most common fields along with a + starting location URI, and can accept an MD5 string instead of a + plaintext password + + Account first name + Account last name + Account password or MD5 hash of the password + such as $1$1682a1e45e9f957dcdf0bb56eb43319c + Client application name + Starting location URI that can be built with + StartLocation() + Client application version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error + + + + Login that takes a struct of all the values that will be passed to + the login server + + The values that will be passed to the login + server, all fields must be set even if they are String.Empty + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error + + + + Build a start location URI for passing to the Login function + + Name of the simulator to start in + X coordinate to start at + Y coordinate to start at + Z coordinate to start at + String with a URI that can be used to login to a specified + location + + + + Handles response from XML-RPC login replies + + + + + Handle response from LLSD login replies + + + + + + + + Get current OS + + Either "Win" or "Linux" + + + + Get clients default Mac Address + + A string containing the first found Mac Address + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Unique identifier associated with our connections to + simulators + + + The simulator that the logged in avatar is currently + occupying + + + Shows whether the network layer is logged in to the + grid or not + + + Number of packets in the incoming queue + + + Number of packets in the outgoing queue + + + Raised when the simulator sends us data containing + ... + + + Called when a reply is received from the login server, the + login sequence will block until this event returns + + + Current state of logging in + + + Upon login failure, contains a short string key for the + type of login error that occurred + + + The raw XML-RPC reply from the login server, exactly as it + was received (minus the HTTP header) + + + During login this contains a descriptive version of + LoginStatusCode. After a successful login this will contain the + message of the day, and after a failed login a descriptive error + message will be returned + + + + Explains why a simulator or the grid disconnected from us + + + + The client requested the logout or simulator disconnect + + + The server notified us that it is disconnecting + + + Either a socket was closed or network traffic timed out + + + The last active simulator shut down + + + + Holds a simulator reference and a decoded packet, these structs are put in + the packet inbox for event handling + + + + Reference to the simulator that this packet came from + + + Packet that needs to be processed + + + + Holds a simulator reference and a serialized packet, these structs are put in + the packet outbox for sending + + + + Reference to the simulator this packet is destined for + + + Packet that needs to be sent + + + Sequence number of the wrapped packet + + + Number of times this packet has been resent + + + Environment.TickCount when this packet was last sent over the wire + + + + + + + + + + + + + + Type of return to use when returning objects from a parcel + + + + + + + Return objects owned by parcel owner + + + Return objects set to group + + + Return objects not owned by parcel owner or set to group + + + Return a specific list of objects on parcel + + + Return objects that are marked for-sale + + + + Blacklist/Whitelist flags used in parcels Access List + + + + Agent is denied access + + + Agent is granted access + + + + The result of a request for parcel properties + + + + No matches were found for the request + + + Request matched a single parcel + + + Request matched multiple parcels + + + + Flags used in the ParcelAccessListRequest packet to specify whether + we want the access list (whitelist), ban list (blacklist), or both + + + + Request the access list + + + Request the ban list + + + Request both White and Black lists + + + + Sequence ID in ParcelPropertiesReply packets (sent when avatar + tries to cross a parcel border) + + + + Parcel is currently selected + + + Parcel restricted to a group the avatar is not a + member of + + + Avatar is banned from the parcel + + + Parcel is restricted to an access list that the + avatar is not on + + + Response to hovering over a parcel + + + + The tool to use when modifying terrain levels + + + + Level the terrain + + + Raise the terrain + + + Lower the terrain + + + Smooth the terrain + + + Add random noise to the terrain + + + Revert terrain to simulator default + + + + The tool size to use when changing terrain levels + + + + Small + + + Medium + + + Large + + + + Reasons agent is denied access to a parcel on the simulator + + + + Agent is not denied, access is granted + + + Agent is not a member of the group set for the parcel, or which owns the parcel + + + Agent is not on the parcels specific allow list + + + Agent is on the parcels ban list + + + Unknown + + + Agent is not age verified and parcel settings deny access to non age verified avatars + + + + Parcel overlay type. This is used primarily for highlighting and + coloring which is why it is a single integer instead of a set of + flags + + These values seem to be poorly thought out. The first three + bits represent a single value, not flags. For example Auction (0x05) is + not a combination of OwnedByOther (0x01) and ForSale(0x04). However, + the BorderWest and BorderSouth values are bit flags that get attached + to the value stored in the first three bits. Bits four, five, and six + are unused + + + Public land + + + Land is owned by another avatar + + + Land is owned by a group + + + Land is owned by the current avatar + + + Land is for sale + + + Land is being auctioned + + + To the west of this area is a parcel border + + + To the south of this area is a parcel border + + + + Various parcel properties + + + + No flags set + + + Allow avatars to fly (a client-side only restriction) + + + Allow foreign scripts to run + + + This parcel is for sale + + + Allow avatars to create a landmark on this parcel + + + Allows all avatars to edit the terrain on this parcel + + + Avatars have health and can take damage on this parcel. + If set, avatars can be killed and sent home here + + + Foreign avatars can create objects here + + + All objects on this parcel can be purchased + + + Access is restricted to a group + + + Access is restricted to a whitelist + + + Ban blacklist is enabled + + + Unknown + + + List this parcel in the search directory + + + Allow personally owned parcels to be deeded to group + + + If Deeded, owner contributes required tier to group parcel is deeded to + + + Restrict sounds originating on this parcel to the + parcel boundaries + + + Objects on this parcel are sold when the land is + purchsaed + + + Allow this parcel to be published on the web + + + The information for this parcel is mature content + + + The media URL is an HTML page + + + The media URL is a raw HTML string + + + Restrict foreign object pushes + + + Ban all non identified/transacted avatars + + + Allow group-owned scripts to run + + + Allow object creation by group members or group + objects + + + Allow all objects to enter this parcel + + + Only allow group and owner objects to enter this parcel + + + Voice Enabled on this parcel + + + Use Estate Voice channel for Voice on this parcel + + + Deny Age Unverified Users + + + + Parcel ownership status + + + + Placeholder + + + Parcel is leased (owned) by an avatar or group + + + Parcel is in process of being leased (purchased) by an avatar or group + + + Parcel has been abandoned back to Governor Linden + + + + Category parcel is listed in under search + + + + No assigned category + + + Linden Infohub or public area + + + Adult themed area + + + Arts and Culture + + + Business + + + Educational + + + Gaming + + + Hangout or Club + + + Newcomer friendly + + + Parks and Nature + + + Residential + + + Shopping + + + Not Used? + + + Other + + + Not an actual category, only used for queries + + + + Type of teleport landing for a parcel + + + + Unset, simulator default + + + Specific landing point set for this parcel + + + No landing point set, direct teleports enabled for + this parcel + + + + Parcel Media Command used in ParcelMediaCommandMessage + + + + Stop the media stream and go back to the first frame + + + Pause the media stream (stop playing but stay on current frame) + + + Start the current media stream playing and stop when the end is reached + + + Start the current media stream playing, + loop to the beginning when the end is reached and continue to play + + + Specifies the texture to replace with video + If passing the key of a texture, it must be explicitly typecast as a key, + not just passed within double quotes. + + + Specifies the movie URL (254 characters max) + + + Specifies the time index at which to begin playing + + + Specifies a single agent to apply the media command to + + + Unloads the stream. While the stop command sets the texture to the first frame of the movie, + unload resets it to the real texture that the movie was replacing. + + + Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties + (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. + + + Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). + Use "text/html" for HTML. + + + Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). + This might still not be working + + + Sets a description for the media being displayed (1.19.1 RC0 and later only). + + + + Some information about a parcel of land returned from a DirectoryManager search + + + + Global Key of record + + + Parcel Owners + + + Name field of parcel, limited to 128 characters + + + Description field of parcel, limited to 256 characters + + + Total Square meters of parcel + + + Total area billable as Tier, for group owned land this will be 10% less than ActualArea + + + True of parcel is in Mature simulator + + + Grid global X position of parcel + + + Grid global Y position of parcel + + + Grid global Z position of parcel (not used) + + + Name of simulator parcel is located in + + + Texture of parcels display picture + + + Float representing calculated traffic based on time spent on parcel by avatars + + + Sale price of parcel (not used) + + + Auction ID of parcel + + + + Parcel Media Information + + + + A byte, if 0x1 viewer should auto scale media to fit object + + + A boolean, if true the viewer should loop the media + + + The Asset UUID of the Texture which when applied to a + primitive will display the media + + + A URL which points to any Quicktime supported media type + + + A description of the media + + + An Integer which represents the height of the media + + + An integer which represents the width of the media + + + A string which contains the mime type of the media + + + + Parcel of land, a portion of virtual real estate in a simulator + + + + The total number of contiguous 4x4 meter blocks your agent owns within this parcel + + + The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own + + + Deprecated, Value appears to always be 0 + + + Simulator-local ID of this parcel + + + UUID of the owner of this parcel + + + Whether the land is deeded to a group or not + + + + + + Date land was claimed + + + Appears to always be zero + + + This field is no longer used + + + Minimum corner of the axis-aligned bounding box for this + parcel + + + Maximum corner of the axis-aligned bounding box for this + parcel + + + Bitmap describing land layout in 4x4m squares across the + entire region + + + Total parcel land area + + + + + + Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used + + + Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel + owned by the agent or group that owns this parcel + + + Maximum number of primitives this parcel supports + + + Total number of primitives on this parcel + + + For group-owned parcels this indicates the total number of prims deeded to the group, + for parcels owned by an individual this inicates the number of prims owned by the individual + + + Total number of primitives owned by the parcel group on + this parcel, or for parcels owned by an individual with a group set the + total number of prims set to that group. + + + Total number of prims owned by other avatars that are not set to group, or not the parcel owner + + + A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect + the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed + + + Autoreturn value in minutes for others' objects + + + + + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it + + + Parcel Name + + + Parcel Description + + + URL For Music Stream + + + + + + Price for a temporary pass + + + How long is pass valid for + + + + + + Key of authorized buyer + + + Key of parcel snapshot + + + The landing point location + + + The landing point LookAt + + + The type of landing enforced from the enum + + + + + + + + + + + + Access list of who is whitelisted on this + parcel + + + Access list of who is blacklisted on this + parcel + + + TRUE of region denies access to age unverified users + + + true to obscure (hide) media url + + + true to obscure (hide) music url + + + A struct containing media details + + + + Displays a parcel object in string format + + string containing key=value pairs of a parcel object + + + + Defalt constructor + + Local ID of this parcel + + + + Update the simulator with any local changes to this Parcel object + + Simulator to send updates to + Whether we want the simulator to confirm + the update with a reply packet or not + + + + Set Autoreturn time + + Simulator to send the update to + + + + Parcel (subdivided simulator lots) subsystem + + + + The event subscribers. null if no subcribers + + + Raises the ParcelDwellReply event + A ParcelDwellReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ParcelInfoReply event + A ParcelInfoReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ParcelProperties event + A ParcelPropertiesEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ParcelAccessListReply event + A ParcelAccessListReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ParcelObjectOwnersReply event + A ParcelObjectOwnersReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the SimParcelsDownloaded event + A SimParcelsDownloadedEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ForceSelectObjectsReply event + A ForceSelectObjectsReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ParcelMediaUpdateReply event + A ParcelMediaUpdateReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ParcelMediaCommand event + A ParcelMediaCommandEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + + Default constructor + + A reference to the GridClient object + + + + Request basic information for a single parcel + + Simulator-local ID of the parcel + + + + Request properties of a single parcel + + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + multiple simultaneous requests + + + + Request the access list for a single parcel + + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelAccessList reply, useful for distinguishing between + multiple simultaneous requests + + + + + Request properties of parcels using a bounding box selection + + Simulator containing the parcel + Northern boundary of the parcel selection + Eastern boundary of the parcel selection + Southern boundary of the parcel selection + Western boundary of the parcel selection + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + different types of parcel property requests + A boolean that is returned with the + ParcelProperties reply, useful for snapping focus to a single + parcel + + + + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) + + Simulator to request parcels from (must be connected) + + + + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) + + Simulator to request parcels from (must be connected) + If TRUE, will force a full refresh + Number of milliseconds to pause in between each request + + + + Request the dwell value for a parcel + + Simulator containing the parcel + Simulator-local ID of the parcel + + + + Send a request to Purchase a parcel of land + + The Simulator the parcel is located in + The parcels region specific local ID + true if this parcel is being purchased by a group + The groups + true to remove tier contribution if purchase is successful + The parcels size + The purchase price of the parcel + + + + + Reclaim a parcel of land + + The simulator the parcel is in + The parcels region specific local ID + + + + Deed a parcel to a group + + The simulator the parcel is in + The parcels region specific local ID + The groups + + + + Request prim owners of a parcel of land. + + Simulator parcel is in + The parcels region specific local ID + + + + Return objects from a parcel + + Simulator parcel is in + The parcels region specific local ID + the type of objects to return, + A list containing object owners s to return + + + + Subdivide (split) a parcel + + + + + + + + + + Join two parcels of land creating a single parcel + + + + + + + + + + Get a parcels LocalID + + Simulator parcel is in + Vector3 position in simulator (Z not used) + 0 on failure, or parcel LocalID on success. + A call to Parcels.RequestAllSimParcels is required to populate map and + dictionary. + + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() + + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() + + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() + + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + Height at which the terraform operation is acting at + + + + Sends a request to the simulator to return a list of objects owned by specific owners + + Simulator local ID of parcel + Owners, Others, Etc + List containing keys of avatars objects to select; + if List is null will return Objects of type selectType + Response data is returned in the event + + + + Eject and optionally ban a user from a parcel + + target key of avatar to eject + true to also ban target + + + + Freeze or unfreeze an avatar over your land + + target key to freeze + true to freeze, false to unfreeze + + + + Abandon a parcel of land + + Simulator parcel is in + Simulator local ID of parcel + + + + Requests the UUID of the parcel in a remote region at a specified location + + Location of the parcel in the remote region + Remote region handle + Remote region UUID + If successful UUID of the remote parcel, UUID.Zero otherwise + + + + Retrieves information on resources used by the parcel + + UUID of the parcel + Should per object resource usage be requested + Callback invoked when the request is complete + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a Parcel Update request + + + Raised when the parcel your agent is located sends a ParcelMediaCommand + + + + Parcel Accesslist + + + + Agents + + + + + + Flags for specific entry in white/black lists + + + + Owners of primitives on parcel + + + + Prim Owners + + + True of owner is group + + + Total count of prims owned by OwnerID + + + true of OwnerID is currently online and is not a group + + + The date of the most recent prim left by OwnerID + + + + Called once parcel resource usage information has been collected + + Indicates if operation was successfull + Parcel resource usage information + + + Contains a parcels dwell data returned from the simulator in response to an + + + + Construct a new instance of the ParcelDwellReplyEventArgs class + + The global ID of the parcel + The simulator specific ID of the parcel + The calculated dwell for the parcel + + + Get the global ID of the parcel + + + Get the simulator specific ID of the parcel + + + Get the calculated dwell + + + Contains basic parcel information data returned from the + simulator in response to an request + + + + Construct a new instance of the ParcelInfoReplyEventArgs class + + The object containing basic parcel info + + + Get the object containing basic parcel info + + + Contains basic parcel information data returned from the simulator in response to an request + + + + Construct a new instance of the ParcelPropertiesEventArgs class + + The object containing the details + The object containing the details + The result of the request + The number of primitieves your agent is + currently selecting and or sitting on in this parcel + The user assigned ID used to correlate a request with + these results + TODO: + + + Get the simulator the parcel is located in + + + Get the object containing the details + If Result is NoData, this object will not contain valid data + + + Get the result of the request + + + Get the number of primitieves your agent is + currently selecting and or sitting on in this parcel + + + Get the user assigned ID used to correlate a request with + these results + + + TODO: + + + Contains blacklist and whitelist data returned from the simulator in response to an request + + + + Construct a new instance of the ParcelAccessListReplyEventArgs class + + The simulator the parcel is located in + The user assigned ID used to correlate a request with + these results + The simulator specific ID of the parcel + TODO: + The list containing the white/blacklisted agents for the parcel + + + Get the simulator the parcel is located in + + + Get the user assigned ID used to correlate a request with + these results + + + Get the simulator specific ID of the parcel + + + TODO: + + + Get the list containing the white/blacklisted agents for the parcel + + + Contains blacklist and whitelist data returned from the + simulator in response to an request + + + + Construct a new instance of the ParcelObjectOwnersReplyEventArgs class + + The simulator the parcel is located in + The list containing prim ownership counts + + + Get the simulator the parcel is located in + + + Get the list containing prim ownership counts + + + Contains the data returned when all parcel data has been retrieved from a simulator + + + + Construct a new instance of the SimParcelsDownloadedEventArgs class + + The simulator the parcel data was retrieved from + The dictionary containing the parcel data + The multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. + + + Get the simulator the parcel data was retrieved from + + + A dictionary containing the parcel data where the key correlates to the ParcelMap entry + + + Get the multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. + + + Contains the data returned when a request + + + + Construct a new instance of the ForceSelectObjectsReplyEventArgs class + + The simulator the parcel data was retrieved from + The list of primitive IDs + true if the list is clean and contains the information + only for a given request + + + Get the simulator the parcel data was retrieved from + + + Get the list of primitive IDs + + + true if the list is clean and contains the information + only for a given request + + + Contains data when the media data for a parcel the avatar is on changes + + + + Construct a new instance of the ParcelMediaUpdateReplyEventArgs class + + the simulator the parcel media data was updated in + The updated media information + + + Get the simulator the parcel media data was updated in + + + Get the updated media information + + + Contains the media command for a parcel the agent is currently on + + + + Construct a new instance of the ParcelMediaCommandEventArgs class + + The simulator the parcel media command was issued in + + + The media command that was sent + + + + Get the simulator the parcel media command was issued in + + + + + + + + + Get the media command that was sent + + + + @@ -1652,683 +9796,4533 @@ The key The value - + - Holds group information for Avatars such as those you might find in a profile + Avatar group management - - true of Avatar accepts group notices + + Key of Group Member - - Groups Key + + Total land contribution - - Texture Key for groups insignia + + Online status information - - Name of the group + + Abilities that the Group Member has - - Powers avatar has in the group + + Current group title - - Avatars Currently selected title + + Is a group owner - - true of Avatar has chosen to list this in their profile - - + - Contains an animation currently being played by an agent + Role manager for a group - - The ID of the animation asset + + Key of the group - - 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 + + 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 + + - Holds group information on an individual profile pick + A group Vote - + + Key of Avatar who created Vote + + + Text of the Vote proposal + + + Total number of votes + + - Retrieve friend status notifications, and retrieve avatar names and - profiles + A group proposal - - The event subscribers, null of no subscribers + + The Text of the proposal - - Raises the AvatarAnimation Event - An AvatarAnimationEventArgs object containing - the data sent from the simulator + + The minimum number of members that must vote before proposal passes or failes - - Thread sync lock object + + The required ration of yes/no votes required for vote to pass + The three options are Simple Majority, 2/3 Majority, and Unanimous + TODO: this should be an enum - - The event subscribers, null of no subscribers + + The duration in days votes are accepted - - Raises the AvatarAppearance Event - A AvatarAppearanceEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the UUIDNameReply Event - A UUIDNameReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AvatarInterestsReply Event - A AvatarInterestsReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AvatarPropertiesReply Event - A AvatarPropertiesReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AvatarGroupsReply Event - A AvatarGroupsReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AvatarPickerReply Event - A AvatarPickerReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the ViewerEffectPointAt Event - A ViewerEffectPointAtEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the ViewerEffectLookAt Event - A ViewerEffectLookAtEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the ViewerEffect Event - A ViewerEffectEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AvatarPicksReply Event - A AvatarPicksReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the PickInfoReply Event - A PickInfoReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AvatarClassifiedReply Event - A AvatarClassifiedReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the ClassifiedInfoReply Event - A ClassifiedInfoReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - + - Represents other avatars - - - - - Tracks the specified avatar on your map - Avatar ID to track - - - - Request a single avatar name - - The avatar key to retrieve a name for - - - - Request a list of avatar names - - The avatar keys to retrieve names for - - - - Start a request for Avatar Properties - - - - - - Search for an avatar (first name, last name) - - The name to search for - An ID to associate with this query - - - - Start a request for Avatar Picks - - UUID of the avatar - - - - Start a request for Avatar Classifieds - - UUID of the avatar - - - - Start a request for details of a specific profile pick - - UUID of the avatar - UUID of the profile pick - - - - Start a request for details of a specific profile classified - - UUID of the avatar - UUID of the profile classified - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. - - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised when the simulator sends us data containing - an agents animation playlist - - - Raised when the simulator sends us data containing - the appearance information for an agent - - - Raised when the simulator sends us data containing - agent names/id values - - - Raised when the simulator sends us data containing - the interests listed in an agents profile - - - Raised when the simulator sends us data containing - profile property information for an agent - - - Raised when the simulator sends us data containing - the group membership an agent is a member of - - - Raised when the simulator sends us data containing - name/id pair - - - Raised when the simulator sends us data containing - the objects and effect when an agent is pointing at - - - Raised when the simulator sends us data containing - the objects and effect when an agent is looking at - - - Raised when the simulator sends us data containing - an agents viewer effect information - - - Raised when the simulator sends us data containing - the top picks from an agents profile - - - Raised when the simulator sends us data containing - the Pick details - - - Raised when the simulator sends us data containing - the classified ads an agent has placed - - - Raised when the simulator sends us data containing - the details of a classified ad - - - Provides data for the event - The event occurs when the simulator sends - the animation playlist for an agent - - The following code example uses the and - properties to display the animation playlist of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; - - private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) - { - // create a dictionary of "known" animations from the Animations class using System.Reflection - Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); - Type type = typeof(Animations); - System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); - foreach (System.Reflection.FieldInfo field in fields) - { - systemAnimations.Add((UUID)field.GetValue(type), field.Name); - } - // find out which animations being played are known animations and which are assets - foreach (Animation animation in e.Animations) - { - if (systemAnimations.ContainsKey(animation.AnimationID)) - { - Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, - systemAnimations[animation.AnimationID], animation.AnimationSequence); - } - else - { - Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, - animation.AnimationID, animation.AnimationSequence); - } - } - } - - - - - - Construct a new instance of the AvatarAnimationEventArgs class - The ID of the agent - The list of animations to start - - Get the ID of the agent + + - - Get the list of animations to start + + - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + Looking direction, must be a normalized vector + Up direction, must be a normalized vector + + + + Align the coordinate frame X and Y axis with a given rotation + around the Z axis in radians + + Absolute rotation around the Z axis in + radians + + + Origin position of this coordinate frame + + + X axis of this coordinate frame, or Forward/At in grid terms + + + Y axis of this coordinate frame, or Left in grid terms + + + Z axis of this coordinate frame, or Up in grid terms + + + + Avatar profile flags + + + + + Represents an avatar (other than your own) + + + + Groups that this avatar is a member of + + + Positive and negative ratings + + + Avatar properties including about text, profile URL, image IDs and + publishing settings + + + Avatar interests including spoken languages, skills, and "want to" + choices + + + Movement control flags for avatars. Typically not set or used by + clients. To move your avatar, use Client.Self.Movement instead + + + + Contains the visual parameters describing the deformation of the avatar + + + + + Default constructor + + + + First name + + + Last name + + + Full name + + + Active group + + + + Positive and negative ratings + + + + Positive ratings for Behavior + + + Negative ratings for Behavior + + + Positive ratings for Appearance + + + Negative ratings for Appearance + + + Positive ratings for Building + + + Negative ratings for Building + + + Positive ratings given by this avatar + + + Negative ratings given by this avatar + + + + Avatar properties including about text, profile URL, image IDs and + publishing settings + + + + First Life about text + + + First Life image ID + + + + + + + + + + + + + + + Profile image ID + + + Flags of the profile + + + Web URL for this profile + + + Should this profile be published on the web + + + Avatar Online Status + + + Is this a mature profile + + + + + + + + + + Avatar interests including spoken languages, skills, and "want to" + choices + + + + Languages profile field + + + + + + + + + + + + + + + + Extract the avatar UUID encoded in a SIP URI + + + + + + + Permissions for control of object media + + + + + Style of cotrols that shold be displayed to the user + + + + + Class representing media data for a single face + + + + Is display of the alternative image enabled + + + Should media auto loop + + + Shoule media be auto played + + + Auto scale media to prim face + + + Should viewer automatically zoom in on the face when clicked + + + Should viewer interpret first click as interaction with the media + or when false should the first click be treated as zoom in commadn + + + Style of controls viewer should display when + viewer media on this face + + + Starting URL for the media + + + Currently navigated URL + + + Media height in pixes + + + Media width in pixels + + + Who can controls the media + + + Who can interact with the media + + + Is URL whitelist enabled + + + Array of URLs that are whitelisted + + + + Serialize to OSD + + OSDMap with the serialized data + + + + Deserialize from OSD data + + Serialized OSD data + Deserialized object + + + + Operation to apply when applying color to texture + + + + + Information needed to translate visual param value to RGBA color + + + + + Construct VisualColorParam + + Operation to apply when applying color to texture + Colors + + + + Represents alpha blending and bump infor for a visual parameter + such as sleive length + + + + Stregth of the alpha to apply + + + File containing the alpha channel + + + Skip blending if parameter value is 0 + + + Use miltiply insted of alpha blending + + + + Create new alhpa information for a visual param + + Stregth of the alpha to apply + File containing the alpha channel + Skip blending if parameter value is 0 + Use miltiply insted of alpha blending + + + + A single visual characteristic of an avatar mesh, such as eyebrow height + + + + Index of this visual param + + + Internal name + + + Group ID this parameter belongs to + + + Name of the wearable this parameter belongs to + + + Displayable label of this characteristic + + + Displayable label for the minimum value of this characteristic + + + Displayable label for the maximum value of this characteristic + + + Default value + + + Minimum value + + + Maximum value + + + Is this param used for creation of bump layer? + + + Alpha blending/bump info + + + Color information + + + Array of param IDs that are drivers for this parameter + + + + Set all the values through the constructor + + Index of this visual param + Internal name + + + Displayable label of this characteristic + Displayable label for the minimum value of this characteristic + Displayable label for the maximum value of this characteristic + Default value + Minimum value + Maximum value + Is this param used for creation of bump layer? + Array of param IDs that are drivers for this parameter + Alpha blending/bump info + Color information + + + + Holds the Params array of all the avatar appearance parameters + + + + + The InternalDictionary class is used through the library for storing key/value pairs. + It is intended to be a replacement for the generic Dictionary class and should + be used in its place. It contains several methods for allowing access to the data from + outside the library that are read only and thread safe. + + + Key + Value + + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking + on this member + + + + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. + - The following code example uses the and - properties to display the selected shape of an avatar on the window. - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } + // initialize 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>(); - + - Construct a new instance of the AvatarAppearanceEventArgs class + Initializes a new instance of the Class + with the specified key/value, has its initial valies copied from the specified + - 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 + + 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); + + - - Get the Simulator this request is from of the agent - - - Get the ID of the agent - - - true if the agent is a trial account - - - Get the default agent texture - - - Get the agents appearance layer textures - - - Get the for the agent - - - Represents the interests from the profile of an agent - - - Get the ID of the agent - - - The properties of an agent - - - Get the ID of the agent - - - Get the ID of the agent - - - Get the ID of the agent - - - Get the ID of the avatar - - + - Represents an that can be worn on an avatar - such as a Shirt, Pants, etc. + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. + + Initial size of dictionary + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); + + + + + + Try to get entry from with specified key + + Key to use for lookup + Value returned + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + + + + + Finds the specified match. + + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + + + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + + + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + + + + Perform an on each entry in an + to perform + + + // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. + Client.Network.CurrentSim.ObjectsPrimitives.ForEach( + delegate(Primitive prim) + { + if (prim.Text != null) + { + Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", + prim.PropertiesFamily.Name, prim.ID, prim.Text); + } + }); + + + + + Perform an on each key of an + to perform + + + + Perform an on each KeyValuePair of an + + to perform + + + Check if Key exists in Dictionary + Key to check for + if found, otherwise + + + Check if Value exists in Dictionary + Value to check for + if found, otherwise + + + + Adds the specified key to the dictionary, dictionary locking is not performed, + + + The key + The value + + + + Removes the specified key, dictionary locking is not performed + + The key. + if successful, otherwise + + + + Gets the number of Key/Value pairs contained in the - + - Represents a Wearable Asset, Clothing, Hair, Skin, Etc + Indexer for the dictionary + + The key + The value + + + + This is used to initialize and stop the Connector as a whole. The Connector + Create call must be completed successfully before any other requests are made + (typically during application initialization). The shutdown should be called + when the application is shutting down to gracefully release resources + + A string value indicting the Application name + URL for the management server + LoggingSettings + + + + + + Shutdown Connector -- Should be called when the application is shutting down + to gracefully release resources + + Handle returned from successful Connector ‘create’ request + + + + Mute or unmute the microphone + + Handle returned from successful Connector ‘create’ request + true (mute) or false (unmute) + + + + Mute or unmute the speaker + + Handle returned from successful Connector ‘create’ request + true (mute) or false (unmute) + + + + Set microphone volume + + Handle returned from successful Connector ‘create’ request + The level of the audio, a number between -100 and 100 where + 0 represents ‘normal’ speaking volume + + + + Set local speaker volume + + Handle returned from successful Connector ‘create’ request + The level of the audio, a number between -100 and 100 where + 0 represents ‘normal’ speaking volume + + + + Starts a thread that keeps the daemon running + + + + + + + Stops the daemon and the thread keeping it running - + - Base class for all Asset types + + + + + + + + + This is used to get a list of audio devices that can be used for capture (input) of voice. + + + + + + This is used to get a list of audio devices that can be used for render (playback) of voice. - - A byte array containing the raw asset data - - - True if the asset it only stored on the server temporarily - - - A unique ID - - + - Construct a new Asset object + This command is used to select the render device. + + The name of the device as returned by the Aux.GetRenderDevices command. + + + + This command is used to select the capture device. + + The name of the device as returned by the Aux.GetCaptureDevices command. + + + + This command is used to start the audio capture process which will cause + AuxAudioProperty Events to be raised. These events can be used to display a + microphone VU meter for the currently selected capture device. This command + should not be issued if the user is on a call. + + (unused but required) + + + + + This command is used to stop the audio capture process. + + + + + + This command is used to set the mic volume while in the audio tuning process. + Once an acceptable mic level is attained, the application must issue a + connector set mic volume command to have that level be used while on voice + calls. + + the microphone volume (-100 to 100 inclusive) + + + + + This command is used to set the speaker volume while in the audio tuning + process. Once an acceptable speaker level is attained, the application must + issue a connector set speaker volume command to have that level be used while + on voice calls. + + the speaker volume (-100 to 100 inclusive) + + + + + Create a Session + Sessions typically represent a connection to a media session with one or more + participants. This is used to generate an ‘outbound’ call to another user or + channel. The specifics depend on the media types involved. A session handle is + required to control the local user functions within the session (or remote + users if the current account has rights to do so). Currently creating a + session automatically connects to the audio media, there is no need to call + Session.Connect at this time, this is reserved for future use. + + Handle returned from successful Connector ‘create’ request + This is the URI of the terminating point of the session (ie who/what is being called) + This is the display name of the entity being called (user or channel) + Only needs to be supplied when the target URI is password protected + This indicates the format of the password as passed in. This can either be + “ClearText” or “SHA1UserName”. If this element does not exist, it is assumed to be “ClearText”. If it is + “SHA1UserName”, the password as passed in is the SHA1 hash of the password and username concatenated together, + then base64 encoded, with the final “=” character stripped off. + + + + + + + Used to accept a call + + SessionHandle such as received from SessionNewEvent + "default" + + + + + This command is used to start the audio render process, which will then play + the passed in file through the selected audio render device. This command + should not be issued if the user is on a call. + + The fully qualified path to the sound file. + True if the file is to be played continuously and false if it is should be played once. + + + + + This command is used to stop the audio render process. + + The fully qualified path to the sound file issued in the start render command. + + + + + This is used to ‘end’ an established session (i.e. hang-up or disconnect). + + Handle returned from successful Session ‘create’ request or a SessionNewEvent + + + + + Set the combined speaking and listening position in 3D space. + + Handle returned from successful Session ‘create’ request or a SessionNewEvent + Speaking position + Listening position + + + + + Set User Volume for a particular user. Does not affect how other users hear that user. + + Handle returned from successful Session ‘create’ request or a SessionNewEvent + + The level of the audio, a number between -100 and 100 where 0 represents ‘normal’ speaking volume + + + + + Start up the Voice service. - + - Construct a new Asset object + Handle miscellaneous request status + + + ///If something goes wrong, we log it. + + + + Cleanup oject resources + + + + + Request voice cap when changing regions + + + + + Handle a change in session state + + + + + Close a voice session + + + + + + Locate a Session context from its handle + + Creates the session context if it does not exist. + + + + Handle completion of main voice cap request. + + + + + + + + Daemon has started so connect to it. + + + + + The daemon TCP connection is open. + + + + + Handle creation of the Connector. + + + + + Handle response to audio output device query + + + + + Handle response to audio input device query + + + + + Set voice channel for new parcel + + + + + + Request info from a parcel capability Uri. + + + + + + Receive parcel voice cap + + + + + + + + Tell Vivox where we are standing + + This has to be called when we move or turn. + + + + Start and stop updating out position. + + + + + + This is used to login a specific user account(s). It may only be called after + Connector initialization has completed successfully + + Handle returned from successful Connector ‘create’ request + User's account name + User's account password + Values may be “AutoAnswer” or “VerifyAnswer” + "" + This is an integer that specifies how often + the daemon will send participant property events while in a channel. If this is not set + the default will be “on state change”, which means that the events will be sent when + the participant starts talking, stops talking, is muted, is unmuted. + The valid values are: + 0 – Never + 5 – 10 times per second + 10 – 5 times per second + 50 – 1 time per second + 100 – on participant state change (this is the default) + false + + + + + This is used to logout a user session. It should only be called with a valid AccountHandle. + + Handle returned from successful Connector ‘login’ request + + + + + Event for most mundane request reposnses. + + + + Response to Connector.Create request + + + Response to Aux.GetCaptureDevices request + + + Response to Aux.GetRenderDevices request + + + Audio Properties Events are sent after audio capture is started. + These events are used to display a microphone VU meter + + + Response to Account.Login request + + + This event message is sent whenever the login state of the + particular Account has transitioned from one value to another + + + + List of audio input devices + + + + + List of audio output devices + + + + + Set audio test mode + + + + Enable logging + + + The folder where any logs will be created + + + This will be prepended to beginning of each log file + + + The suffix or extension to be appended to each log file + + + + 0: NONE - No logging + 1: ERROR - Log errors only + 2: WARNING - Log errors and warnings + 3: INFO - Log errors, warnings and info + 4: DEBUG - Log errors, warnings, info and debug + + + + + Constructor for default logging settings + + + + Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter + + + + Abstract base for rendering plugins + + + + + Generates a basic mesh structure from a primitive + + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh + + + + Generates a basic mesh structure from a sculpted primitive and + texture + + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh + + + + Generates a series of faces, each face containing a mesh and + metadata + + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh + + + + Generates a series of faces for a sculpted prim, each face + containing a mesh and metadata + + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh + + + + Apply texture coordinate modifications from a + to a list of vertices + + Vertex list to modify texture coordinates for + Center-point of the face + Face texture parameters + + + + 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 + + + + Simulator (region) properties + + + + No flags set + + + Agents can take damage and be killed + + + Landmarks can be created here + + + Home position can be set in this sim + + + Home position is reset when an agent teleports away + + + Sun does not move + + + No object, land, etc. taxes + + + Disable heightmap alterations (agents can still plant + foliage) + + + Land cannot be released, sold, or purchased + + + All content is wiped nightly + + + Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) + + + Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. + + + Region does not update agent prim interest lists. Internal debugging option. + + + No collision detection for non-agent objects + + + No scripts are ran + + + All physics processing is turned off + + + Region can be seen from other regions on world map. (Legacy world map option?) + + + Region can be seen from mainland on world map. (Legacy world map option?) + + + Agents not explicitly on the access list can visit the region. + + + Traffic calculations are not run across entire region, overrides parcel settings. + + + Flight is disabled (not currently enforced by the sim) + + + Allow direct (p2p) teleporting + + + Estate owner has temporarily disabled scripting + + + Restricts the usage of the LSL llPushObject function, applies to whole region. + + + Deny agents with no payment info on file + + + Deny agents with payment info on file + + + Deny agents who have made a monetary transaction + + + Parcels within the region may be joined or divided by anyone, not just estate owners/managers. + + + Abuse reports sent from within this region are sent to the estate owner defined email. + + + Region is Voice Enabled + + + Removes the ability from parcel owners to set their parcels to show in search. + + + Deny agents who have not been age verified from entering the region. + + + + Access level for a simulator + + + + Unknown or invalid access level + + + Trial accounts allowed + + + PG rating + + + Mature rating + + + Adult rating + + + Simulator is offline + + + Simulator does not exist + + + + + + + + + + + + + + Initialize the UDP packet handler in server mode + + Port to listening for incoming UDP packets on + + + + Initialize the UDP packet handler in client mode + + Remote UDP server to connect to + + + + + + + + + + + + + + + + + + A public reference to the client that this Simulator object + is attached to + + + A Unique Cache identifier for this simulator + + + The capabilities for this simulator + + + + + + The current version of software this simulator is running + + + + + + A 64x64 grid of parcel coloring values. The values stored + in this array are of the type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true if your agent has Estate Manager rights on this region + + + + + + + + + + + + Statistics information for this simulator and the + connection to the simulator, calculated by the simulator itself + and the library + + + The regions Unique ID + + + The physical data center the simulator is located + Known values are: + + Dallas + Chandler + SF + + + + + The CPU Class of the simulator + Most full mainland/estate sims appear to be 5, + Homesteads and Openspace appear to be 501 + + + The number of regions sharing the same CPU as this one + "Full Sims" appear to be 1, Homesteads appear to be 4 + + + The billing product name + Known values are: + + Mainland / Full Region (Sku: 023) + Estate / Full Region (Sku: 024) + Estate / Openspace (Sku: 027) + Estate / Homestead (Sku: 029) + Mainland / Homestead (Sku: 129) (Linden Owned) + Mainland / Linden Homes (Sku: 131) + + + + + The billing product SKU + Known values are: + + 023 Mainland / Full Region + 024 Estate / Full Region + 027 Estate / Openspace + 029 Estate / Homestead + 129 Mainland / Homestead (Linden Owned) + 131 Linden Homes / Full Region + + + + + The current sequence number for packets sent to this + simulator. Must be Interlocked before modifying. Only + useful for applications manipulating sequence numbers + + + + A thread-safe dictionary containing avatars in a simulator + + + + + A thread-safe dictionary containing primitives in a simulator + + + + + Provides access to an internal thread-safe dictionary containing parcel + information found in this simulator + + + + + Checks simulator parcel map to make sure it has downloaded all data successfully + + true if map is full (contains no 0's) + + + Used internally to track sim disconnections + + + Event that is triggered when the simulator successfully + establishes a connection + + + Whether this sim is currently connected or not. Hooked up + to the property Connected + + + Coarse locations of avatars in this simulator + + + AvatarPositions key representing TrackAgent target + + + Sequence numbers of packets we've received + (for duplicate checking) + + + Packets we sent out that need ACKs from the simulator + + + Sequence number for pause/resume + + + Indicates if UDP connection to the sim is fully established + + + + + + Reference to the GridClient object + IPEndPoint of the simulator + handle of the simulator + + + + Called when this Simulator object is being destroyed + + + + + Attempt to connect to this simulator + + Whether to move our agent in to this sim or not + True if the connection succeeded or connection status is + unknown, false if there was a failure + + + + Initiates connection to the simulator + + + + + Disconnect from this simulator + + + + + Instructs the simulator to stop sending update (and possibly other) packets + + + + + Instructs the simulator to resume sending update packets (unpause) + + + + + Retrieve the terrain height at a given coordinate + + Sim X coordinate, valid range is from 0 to 255 + Sim Y coordinate, valid range is from 0 to 255 + The terrain height at the given point if the + lookup was successful, otherwise 0.0f + True if the lookup was successful, otherwise false + + + + Sends a packet + + Packet to be sent + + + + + + + + + Returns Simulator Name as a String + + + + + + + + + + + + + + + + + + + Sends out pending acknowledgements + + Number of ACKs sent + + + + Resend unacknowledged packets + + + + + Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. + + + + The IP address and port of the server + + + Whether there is a working connection to the simulator or + not + + + Coarse locations of avatars in this simulator + + + AvatarPositions key representing TrackAgent target + + + Indicates if UDP connection to the sim is fully established + + + + Simulator Statistics + + + + Total number of packets sent by this simulator to this agent + + + Total number of packets received by this simulator to this agent + + + Total number of bytes sent by this simulator to this agent + + + Total number of bytes received by this simulator to this agent + + + Time in seconds agent has been connected to simulator + + + Total number of packets that have been resent + + + Total number of resent packets recieved + + + Total number of pings sent to this simulator by this agent + + + Total number of ping replies sent to this agent by this simulator + + + + Incoming bytes per second + + It would be nice to have this claculated on the fly, but + this is far, far easier + + + + Outgoing bytes per second + + It would be nice to have this claculated on the fly, but + this is far, far easier + + + Time last ping was sent + + + ID of last Ping sent + + + + + + + + + Current time dilation of this simulator + + + Current Frames per second of simulator + + + Current Physics frames per second of simulator + + + + + + + + + + + + + + + + + + + + + + + + + + + Total number of objects Simulator is simulating + + + Total number of Active (Scripted) objects running + + + Number of agents currently in this simulator + + + Number of agents in neighbor simulators + + + Number of Active scripts running in this simulator + + + + + + + + + + + + Number of downloads pending + + + Number of uploads pending + + + + + + + + + Number of local uploads pending + + + Unacknowledged bytes in queue + + + + Checks the instance back into the object pool + + + + + Returns an instance of the class that has been checked out of the Object Pool. + + + + + Creates a new instance of the ObjectPoolBase class. Initialize MUST be called + after using this constructor. + + + + + Creates a new instance of the ObjectPool Base class. + + The object pool is composed of segments, which + are allocated whenever the size of the pool is exceeded. The number of items + in a segment should be large enough that allocating a new segmeng is a rare + thing. For example, on a server that will have 10k people logged in at once, + the receive buffer object pool should have segment sizes of at least 1000 + byte arrays per segment. + + The minimun number of segments that may exist. + Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. + The frequency which segments are checked to see if they're eligible for cleanup. + + + + Forces the segment cleanup algorithm to be run. This method is intended + primarly for use from the Unit Test libraries. + + + + + Responsible for allocate 1 instance of an object that will be stored in a segment. + + An instance of whatever objec the pool is pooling. + + + + Checks in an instance of T owned by the object pool. This method is only intended to be called + by the WrappedObject class. + + The segment from which the instance is checked out. + The instance of T to check back into the segment. + + + + Checks an instance of T from the pool. If the pool is not sufficient to + allow the checkout, a new segment is created. + + A WrappedObject around the instance of T. To check + the instance back into the segment, be sureto dispose the WrappedObject + when finished. + + + + The total number of segments created. Intended to be used by the Unit Tests. + + + + + The number of items that are in a segment. Items in a segment + are all allocated at the same time, and are hopefully close to + each other in the managed heap. + + + + + The minimum number of segments. When segments are reclaimed, + this number of segments will always be left alone. These + segments are allocated at startup. + + + + + The age a segment must be before it's eligible for cleanup. + This is used to prevent thrash, and typical values are in + the 5 minute range. + + + + + The frequence which the cleanup thread runs. This is typically + expected to be in the 5 minute range. + + + + + Exception class to identify inventory exceptions + + + + + Responsible for maintaining inventory structure. Inventory constructs nodes + and manages node children as is necessary to maintain a coherant hirarchy. + Other classes should not manipulate or create InventoryNodes explicitly. When + A node's parent changes (when a folder is moved, for example) simply pass + Inventory the updated InventoryFolder and it will make the appropriate changes + to its internal representation. + + + + The event subscribers, null of no subscribers + + + Raises the InventoryObjectUpdated Event + A InventoryObjectUpdatedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the InventoryObjectRemoved Event + A InventoryObjectRemovedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the InventoryObjectAdded Event + A InventoryObjectAddedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + + Returns the contents of the specified folder + + A folder's UUID + The contents of the folder corresponding to folder + When folder does not exist in the inventory + + + + Updates the state of the InventoryNode and inventory data structure that + is responsible for the InventoryObject. If the item was previously not added to inventory, + it adds the item, and updates structure accordingly. If it was, it updates the + InventoryNode, changing the parent node if item.parentUUID does + not match node.Parent.Data.UUID. + + You can not set the inventory root folder using this method + + The InventoryObject to store + + + + Removes the InventoryObject and all related node data from Inventory. + + The InventoryObject to remove. + + + + Used to find out if Inventory contains the InventoryObject + specified by uuid. + + The UUID to check. + true if inventory contains uuid, false otherwise + + + + Saves the current inventory structure to a cache file + + Name of the cache file to save to + + + + Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. + + Name of the cache file to load + The number of inventory items sucessfully reconstructed into the inventory node tree + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + + The root folder of this avatars inventory + + + + + The default shared library folder + + + + + The root node of the avatars inventory + + + + + The root node of the default shared library + + + + + By using the bracket operator on this class, the program can get the + InventoryObject designated by the specified uuid. If the value for the corresponding + UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). + If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), + the uuid parameter is ignored. + + The UUID of the InventoryObject to get or set, ignored if set to non-null value. + The InventoryObject corresponding to uuid. + + + + Registers, unregisters, and fires events generated by incoming packets + + + + Reference to the GridClient object + + + + Default constructor + + + + + + Register an event handler + + Use PacketType.Default to fire this event on every + incoming packet + Packet type to register the handler for + Callback to be fired + True if this callback should be ran + asynchronously, false to run it synchronous + + + + Unregister an event handler + + Packet type to unregister the handler for + Callback to be unregistered + + + + Fire the events registered for this packet type + + Incoming packet type + Incoming packet + Simulator this packet was received from + + + + Object that is passed to worker threads in the ThreadPool for + firing packet callbacks + + + + Callback to fire for this packet + + + Reference to the simulator that this packet came from + + + The packet that needs to be processed + + + + Registers, unregisters, and fires events generated by the Capabilities + event queue + + + + Reference to the GridClient object + + + + Default constructor + + Reference to the GridClient object + + + + Register an new event handler for a capabilities event sent via the EventQueue + + Use String.Empty to fire this event on every CAPS event + Capability event name to register the + handler for + Callback to fire + + + + Unregister a previously registered capabilities handler + + Capability event name unregister the + handler for + Callback to unregister + + + + Fire the events registered for this event type synchronously + + Capability name + Decoded event body + Reference to the simulator that + generated this event + + + + Fire the events registered for this event type asynchronously + + Capability name + Decoded event body + Reference to the simulator that + generated this event + + + + Object that is passed to worker threads in the ThreadPool for + firing CAPS callbacks + + + + Callback to fire for this packet + + + Name of the CAPS event + + + Strongly typed decoded data + + + Reference to the simulator that generated this event + + + + Represends individual HTTP Download request + + + + URI of the item to fetch + + + Timout specified in milliseconds + + + Download progress callback + + + Download completed callback + + + Accept the following content type + + + Default constructor + + + Constructor + + + + Manages async HTTP downloads with a limit on maximum + concurrent downloads + + + + Default constructor + + + Cleanup method + + + Setup http download request + + + Check the queue for pending work + + + Enqueue a new HTPP download + + + Maximum number of parallel downloads from a single endpoint + + + Client certificate + + + Positional vector of the users position + + + Velocity vector of the position + + + At Orientation (X axis) of the position + + + Up Orientation (Y axis) of the position + + + Left Orientation (Z axis) of the position + + + + Represents Mesh asset + + + + Initializes a new instance of an AssetMesh object + + + Initializes a new instance of an AssetMesh object with parameters A unique specific to this asset A byte array containing the raw asset data - + - Regenerates the AssetData byte array from the properties - of the derived class. + TODO: Encodes a scripts contents into a LSO Bytecode file - + - Decodes the AssetData, placing it in appropriate properties of the derived - class. + TODO: Decode LSO Bytecode into a string - True if the asset decoding succeeded, otherwise false + true - - The assets unique ID - - - - The "type" of asset, Notecard, Animation, etc - - - - A string containing the name of the asset - - - A string containing a short description of the asset - - - The Assets WearableType - - - The For-Sale status of the object - - - An Integer representing the purchase price of the asset - - - The of the assets creator - - - The of the assets current owner - - - The of the assets prior owner - - - The of the Group this asset is set to - - - True if the asset is owned by a - - - The Permissions mask of the asset - - - A Dictionary containing Key/Value pairs of the objects parameters - - - A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures - - - Initializes a new instance of an AssetWearable object - - - Initializes a new instance of an AssetWearable object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - - Decode an assets byte encoded data to a string - - true if the asset data was decoded successfully - - - - Encode the assets string represantion into a format consumable by the asset server - - - - Initializes a new instance of an AssetScriptBinary object - - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - + Override the base classes AssetType - + - Add a custom decoder callback + Static helper functions and global variables - The key of the field to decode - The custom decode handler - - - Remove a custom decoder callback - - The key of the field to decode - The custom decode handler + + This header flag signals that ACKs are appended to the packet - - - Creates a formatted string containing the values of a Packet - - The Packet - A formatted string of values of the nested items in the Packet object + + This header flag signals that this packet has been sent before - - - Decode an IMessage object into a beautifully formatted string - - The IMessage object - Recursion level (used for indenting) - A formatted string containing the names and values of the source object + + This header flags signals that an ACK is expected for this packet - + + This header flag signals that the message is compressed using zerocoding + + - A custom decoder callback + - The key of the object - the data to decode - A string represending the fieldData + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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. + + + + + A set of textures that are layered on texture of each other and "baked" + in to a single texture, for avatar appearances + + + + Final baked texture + + + Component layers + + + Width of the final baked image and scratchpad + + + Height of the final baked image and scratchpad + + + Bake type + + + + Default constructor + + Bake type + + + + Adds layer for baking + + TexturaData struct that contains texture and its params + + + + Converts avatar texture index (face) to Bake type + + Face number (AvatarTextureIndex) + BakeType, layer to which this texture belongs to + + + + Make sure images exist, resize source if needed to match the destination + + Destination image + Source image + Sanitization was succefull + + + + Fills a baked layer as a solid *appearing* color. The colors are + subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from + compressing it too far since it seems to cause upload failures if + the image is a pure solid color + + Color of the base of this layer + + + + Fills a baked layer as a solid *appearing* color. The colors are + subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from + compressing it too far since it seems to cause upload failures if + the image is a pure solid color + + Red value + Green value + Blue value + + + Final baked texture + + + Component layers + + + Width of the final baked image and scratchpad + + + Height of the final baked image and scratchpad + + + Bake type + + + Is this one of the 3 skin bakes + + + + Represents an Animation + + + + Default Constructor + + + + Construct an Asset object of type Animation + + A unique specific to this asset + A byte array containing the raw asset data + + + Override the base classes AssetType + + + + 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 + + + Indicates whether appearance setting was successful + + + Contains the Event data returned from the data server from an RebakeAvatarTextures + + + + Triggered when the simulator sends a request for this agent to rebake + its appearance + + The ID of the Texture Layer to bake + + + The ID of the Texture Layer to bake + + + + The current status of a texture request as it moves through the pipeline or final result of a texture request. + + + + The initial state given to a request. Requests in this state + are waiting for an available slot in the pipeline + + + A request that has been added to the pipeline and the request packet + has been sent to the simulator + + + A request that has received one or more packets back from the simulator + + + A request that has received all packets back from the simulator + + + A request that has taken longer than + to download OR the initial packet containing the packet information was never received + + + The texture request was aborted by request of the agent + + + The simulator replied to the request that it was not able to find the requested texture + + + + A callback fired to indicate the status or final state of the requested texture. For progressive + downloads this will fire each time new asset data is returned from the simulator. + + The indicating either Progress for textures not fully downloaded, + or the final result of the request after it has been processed through the TexturePipeline + The object containing the Assets ID, raw data + and other information. For progressive rendering the will contain + the data from the beginning of the file. For failed, aborted and timed out requests it will contain + an empty byte array. + + + + Texture request download handler, allows a configurable number of download slots which manage multiple + concurrent texture downloads from the + + This class makes full use of the internal + system for full texture downloads. + + + A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID + and also the Asset Texture ID, and the value is an object containing the current state of the request and also + the asset data as it is being re-assembled + + + Holds the reference to the client object + + + Maximum concurrent texture requests allowed at a time + + + An array of objects used to manage worker request threads + + + An array of worker slots which shows the availablity status of the slot + + + The primary thread which manages the requests. + + + true if the TexturePipeline is currently running + + + A synchronization object used by the primary thread + + + A refresh timer used to increase the priority of stalled requests + + + + Default constructor, Instantiates a new copy of the TexturePipeline class + + Reference to the instantiated object + + + + Initialize callbacks required for the TexturePipeline to operate + + + + + Shutdown the TexturePipeline and cleanup any callbacks or transfers + + + + + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + A float indicating the requested priority for the transfer. Higher priority values tell the simulator + to prioritize the request before lower valued requests. An image already being transferred using the can have + its priority changed by resending the request with the new priority value + Number of quality layers to discard. + This controls the end marker of the data sent + The packet number to begin the request at. A value of 0 begins the request + from the start of the asset texture + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request + + + + Sends the actual request packet to the simulator + + The image to download + Type of the image to download, either a baked + avatar texture or a normal texture + Priority level of the download. Default is + 1,013,000.0f + Number of quality layers to discard. + This controls the end marker of the data sent + Packet number to start the download at. + This controls the start marker of the data sent + Sending a priority of 0 and a discardlevel of -1 aborts + download + + + + Cancel a pending or in process texture request + + The texture assets unique ID + + + + Master Download Thread, Queues up downloads in the threadpool + + + + + The worker thread that sends the request and handles timeouts + + A object containing the request details + + + + Handle responses from the simulator that tell us a texture we have requested is unable to be located + or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use + + The sender + The EventArgs object containing the packet data + + + + Handles the remaining Image data that did not fit in the initial ImageData packet + + The sender + The EventArgs object containing the packet data + + + + Handle the initial ImageDataPacket sent from the simulator + + The sender + The EventArgs object containing the packet data + + + Current number of pending and in-process transfers + + + + A request task containing information and status of a request as it is processed through the + + + + The current which identifies the current status of the request + + + The Unique Request ID, This is also the Asset ID of the texture being requested + + + The slot this request is occupying in the threadpoolSlots array + + + The ImageType of the request. + + + The callback to fire when the request is complete, will include + the and the + object containing the result data + + + If true, indicates the callback will be fired whenever new data is returned from the simulator. + This is used to progressively render textures as portions of the texture are received. + + + An object that maintains the data of an request thats in-process. + + + + 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 + + + + + + @@ -2448,45 +14442,70 @@ Helper class for sorting files by their last accessed time - + - A linkset asset, containing a parent primitive and zero or more children + Capability to load TGAs to Bitmap - - Initializes a new instance of an AssetPrim object - - + - Initializes a new instance of an AssetPrim 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 LSL Text object containing a string of UTF encoded characters + + + + A string of characters represting the script contents + + + Initializes a new AssetScriptText object + + + + Initializes a new AssetScriptText object with parameters A unique specific to this asset A byte array containing the raw asset data - + - + Encode a string containing the scripts contents into byte encoded AssetData - + - + Decode a byte array containing the scripts contents into a string - + true if decoding is successful - + Override the base classes AssetType - - - Only used internally for XML serialization/deserialization - - - - - The deserialized form of a single primitive in a linkset asset - - Represents a Landmark with RegionID and Position vector @@ -2522,6 +14541,23 @@ Override the base classes AssetType + + + Represents an that can be worn on an avatar + such as a Shirt, Pants, etc. + + + + Initializes a new instance of an AssetScriptBinary object + + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + + Override the base classes AssetType + Main class to expose grid functionality to clients. All of the @@ -2623,6 +14659,1454 @@ Client avatars full name + + + 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 + + + + Image width + + + + + Image height + + + + + Image channel flags + + + + + Red channel data + + + + + Green channel data + + + + + Blue channel data + + + + + Alpha channel data + + + + + Bump channel data + + + + + Create a new blank image + + width + height + channel flags + + + + + + + + + + Convert the channels in the image. Channels are created or destroyed as required. + + new channel flags + + + + Resize or stretch the image using nearest neighbor (ugly) resampling + + new width + new height + + + + Create a byte array containing 32-bit RGBA data with a bottom-left + origin, suitable for feeding directly into OpenGL + + A byte array containing raw texture data + + + + Represents a texture + + + + A object containing image data + + + + + + + + + Initializes a new instance of an AssetTexture object + + + + Initializes a new instance of an AssetTexture object + + A unique specific to this asset + A byte array containing the raw asset data + + + + Initializes a new instance of an AssetTexture object + + A object containing texture data + + + + Populates the byte array with a JPEG2000 + encoded image created from the data in + + + + + Decodes the JPEG2000 data in AssetData to the + object + + True if the decoding was successful, otherwise false + + + + Decodes the begin and end byte positions for each quality layer in + the image + + + + + Override the base classes AssetType + + + + Temporary code to do the bare minimum required to read a tar archive for our purposes + + + + + Binary reader for the underlying stream + + + + + Used to trim off null chars + + + + + Used to trim off space chars + + + + + Generate a tar reader which reads from the given stream. + + + + + + Read the next entry in the tar file. + + + + the data for the entry. Returns null if there are no more entries + + + + Read the next 512 byte chunk of data as a tar header. + + A tar header struct. null if we have reached the end of the archive. + + + + Read data following a header + + + + + + + Convert octal bytes to a decimal representation + + + + + + + + X position of this patch + + + Y position of this patch + + + A 16x16 array of floats holding decompressed layer data + + + + Creates a LayerData packet for compressed land data given a full + simulator heightmap and an array of indices of patches to compress + + A 256 * 256 array of floating point values + specifying the height at each meter in the simulator + Array of indexes in the 16x16 grid of patches + for this simulator. For example if 1 and 17 are specified, patches + x=1,y=0 and x=1,y=1 are sent + + + + + Add a patch of terrain to a BitPacker + + BitPacker to write the patch to + Heightmap of the simulator, must be a 256 * + 256 float array + X offset of the patch to create, valid values are + from 0 to 15 + Y offset of the patch to create, valid values are + from 0 to 15 + + + + + + + + No report + + + Unknown report type + + + Bug report + + + Complaint report + + + Customer service report + + + + Bitflag field for ObjectUpdateCompressed data blocks, describing + which options are present for each object + + + + Unknown + + + Whether the object has a TreeSpecies + + + Whether the object has floating text ala llSetText + + + Whether the object has an active particle system + + + Whether the object has sound attached to it + + + Whether the object is attached to a root object or not + + + Whether the object has texture animation settings + + + Whether the object has an angular velocity + + + Whether the object has a name value pairs string + + + Whether the object has a Media URL set + + + + Specific Flags for MultipleObjectUpdate requests + + + + None + + + Change position of prims + + + Change rotation of prims + + + Change size of prims + + + Perform operation on link set + + + Scale prims uniformly, same as selecing ctrl+shift in the + viewer. Used in conjunction with Scale + + + + Special values in PayPriceReply. If the price is not one of these + literal value of the price should be use + + + + + Indicates that this pay option should be hidden + + + + + Indicates that this pay option should have the default value + + + + + Contains the variables sent in an object update packet for objects. + Used to track position and movement of prims and avatars + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Handles all network traffic related to prims and avatar positions and + movement. + + + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the ObjectProperties Event + A ObjectPropertiesEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the ObjectPropertiesUpdated Event + A ObjectPropertiesUpdatedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the ObjectPropertiesFamily Event + A ObjectPropertiesFamilyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AvatarUpdate Event + A AvatarUpdateEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the ObjectDataBlockUpdate Event + A ObjectDataBlockUpdateEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the KillObject Event + A KillObjectEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AvatarSitChanged Event + A AvatarSitChangedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the PayPriceReply Event + A PayPriceReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Reference to the GridClient object + + + Does periodic dead reckoning calculation to convert + velocity and acceleration to new positions for objects + + + + Construct a new instance of the ObjectManager class + + A reference to the instance + + + + Request information for a single object from a + you are currently connected to + + The the object is located + The Local ID of the object + + + + Request information for multiple objects contained in + the same simulator + + The the objects are located + An array containing the Local IDs of the objects + + + + Attempt to purchase an original object, a copy, or the contents of + an object + + The the object is located + The Local ID of the object + Whether the original, a copy, or the object + contents are on sale. This is used for verification, if the this + sale type is not valid for the object the purchase will fail + Price of the object. This is used for + verification, if it does not match the actual price the purchase + will fail + Group ID that will be associated with the new + purchase + Inventory folder UUID where the object or objects + purchased should be placed + + + BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, + 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); + + + + + + Request prices that should be displayed in pay dialog. This will triggger the simulator + to send us back a PayPriceReply which can be handled by OnPayPriceReply event + + The the object is located + The ID of the object + The result is raised in the event + + + + Select a single object. This will cause the to send us + an which will raise the event + + The the object is located + The Local ID of the object + + + + + Select a single object. This will cause the to send us + an which will raise the event + + The the object is located + The Local ID of the object + if true, a call to is + made immediately following the request + + + + + Select multiple objects. This will cause the to send us + an which will raise the event + + The the objects are located + An array containing the Local IDs of the objects + Should objects be deselected immediately after selection + + + + + Select multiple objects. This will cause the to send us + an which will raise the event + + The the objects are located + An array containing the Local IDs of the objects + + + + + Update the properties of an object + + The the object is located + The Local ID of the object + true to turn the objects physical property on + true to turn the objects temporary property on + true to turn the objects phantom property on + true to turn the objects cast shadows property on + + + + Sets the sale properties of a single object + + The the object is located + The Local ID of the object + One of the options from the enum + The price of the object + + + + Sets the sale properties of multiple objects + + The the objects are located + An array containing the Local IDs of the objects + One of the options from the enum + The price of the object + + + + Deselect a single object + + The the object is located + The Local ID of the object + + + + Deselect multiple objects. + + The the objects are located + An array containing the Local IDs of the objects + + + + Perform a click action on an object + + The the object is located + The Local ID of the object + + + + Perform a click action (Grab) on a single object + + The the object is located + The Local ID of the object + The texture coordinates to touch + The surface coordinates to touch + The face of the position to touch + The region coordinates of the position to touch + The surface normal of the position to touch (A normal is a vector perpindicular to the surface) + The surface binormal of the position to touch (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space + + + + Create (rez) a new prim object in a simulator + + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties + + + + Create (rez) a new prim object in a simulator + + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Specify the + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties + + + + Rez a Linden tree + + A reference to the object where the object resides + The size of the tree + The rotation of the tree + The position of the tree + The Type of tree + The of the group to set the tree to, + or UUID.Zero if no group is to be set + true to use the "new" Linden trees, false to use the old + + + + Rez grass and ground cover + + A reference to the object where the object resides + The size of the grass + The rotation of the grass + The position of the grass + The type of grass from the enum + The of the group to set the tree to, + or UUID.Zero if no group is to be set + + + + Set the textures to apply to the faces of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply + + + + Set the textures to apply to the faces of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply + A media URL (not used) + + + + Set the Light data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set + + + + Set the flexible data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set + + + + Set the sculptie texture and data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set + + + + Unset additional primitive parameters on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The extra parameters to set + + + + Link multiple prims into a linkset + + A reference to the object where the objects reside + An array which contains the IDs of the objects to link + The last object in the array will be the root object of the linkset TODO: Is this true? + + + + Delink/Unlink multiple prims from a linkset + + A reference to the object where the objects reside + An array which contains the IDs of the objects to delink + + + + Change the rotation of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation of the object + + + + Set the name of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new name of the object + + + + Set the name of multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the name of + An array which contains the new names of the objects + + + + Set the description of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new description of the object + + + + Set the descriptions of multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the description of + An array which contains the new descriptions of the objects + + + + Attach an object to this avatar + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The point on the avatar the object will be attached + The rotation of the attached object + + + + Drop an attached object from this avatar + + A reference to the + object where the objects reside. This will always be the simulator the avatar is currently in + + The object's ID which is local to the simulator the object is in + + + + Detach an object from yourself + + A reference to the + object where the objects reside + + This will always be the simulator the avatar is currently in + + An array which contains the IDs of the objects to detach + + + + Change the position of an object, Will change position of entire linkset + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object + + + + Change the position of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object + if true, will change position of (this) child prim only, not entire linkset + + + + Change the Scale (size) of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change scale of this prim only, not entire linkset + True to resize prims uniformly + + + + Change the Rotation of an object that is either a child or a whole linkset + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change rotation of this prim only, not entire linkset + + + + Send a Multiple Object Update packet to change the size, scale or rotation of a primitive + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation, size, or position of the target object + The flags from the Enum + + + + Deed an object (prim) to a group, Object must be shared with group which + can be accomplished with SetPermissions() + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The of the group to deed the object to + + + + Deed multiple objects (prims) to a group, Objects must be shared with group which + can be accomplished with SetPermissions() + + A reference to the object where the object resides + An array which contains the IDs of the objects to deed + The of the group to deed the object to + + + + Set the permissions on multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the permissions on + The new Who mask to set + The new Permissions mark to set + TODO: What does this do? + + + + Request additional properties for an object + + A reference to the object where the object resides + + + + + Request additional properties for an object + + A reference to the object where the object resides + Absolute UUID of the object + Whether to require server acknowledgement of this request + + + + Set the ownership of a list of objects to the specified group + + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the group id on + The Groups ID + + + + Update current URL of the previously set prim media + + UUID of the prim + Set current URL to this + Prim face number + Simulator in which prim is located + + + + Set object media + + UUID of the prim + Array the length of prims number of faces. Null on face indexes where there is + no media, on faces which contain the media + Simulatior in which prim is located + + + + Retrieve information about object media + + UUID of the primitive + Simulator where prim is located + Call this callback when done + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + A terse object update, used when a transformation matrix or + velocity/acceleration for an object changes but nothing else + (scale/position/rotation/acceleration/velocity) + + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + Setup construction data for a basic primitive shape + + Primitive shape to construct + Construction data that can be plugged into a + + + + + + + + + + + + + + + + + + + + Set the Shape data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + Data describing the prim shape + + + + Set the Material data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new material of the object + + + + + + + + + + + + + + + + + + + + + Raised when the simulator sends us data containing + A , Foliage or Attachment + + + + + Raised when the simulator sends us data containing + additional information + + + + + Raised when the simulator sends us data containing + Primitive.ObjectProperties for an object we are currently tracking + + + Raised when the simulator sends us data containing + additional and details + + + + Raised when the simulator sends us data containing + updated information for an + + + Raised when the simulator sends us data containing + and movement changes + + + Raised when the simulator sends us data containing + updates to an Objects DataBlock + + + Raised when the simulator informs us an + or is no longer within view + + + Raised when the simulator sends us data containing + updated sit information for our + + + Raised when the simulator sends us data containing + purchase price information for a + + + + Callback for getting object media data via CAP + + Indicates if the operation was succesfull + Object media version string + Array indexed on prim face of media entry data + + + Provides data for the event + The event occurs when the simulator sends + an containing a Primitive, Foliage or Attachment data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or + if an Avatar crosses the border into a new simulator and returns to the current simulator + + + The following code example uses the , , and + properties to display new Primitives and Attachments on the window. + + // Subscribe to the event that gives us prim and foliage information + Client.Objects.ObjectUpdate += Objects_ObjectUpdate; + + + private void Objects_ObjectUpdate(object sender, PrimEventArgs e) + { + Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); + } + + + + + + + + + Construct a new instance of the PrimEventArgs class + + The simulator the object originated from + The Primitive + The simulator time dilation + The prim was not in the dictionary before this update + true if the primitive represents an attachment to an agent + + + Get the simulator the originated from + + + Get the details + + + true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) + + + true if the is attached to an + + + Get the simulator Time Dilation + + + Provides data for the event + The event occurs when the simulator sends + an containing Avatar data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator + + + The following code example uses the property to make a request for the top picks + using the method in the class to display the names + of our own agents picks listings on the window. + + // subscribe to the AvatarUpdate event to get our information + Client.Objects.AvatarUpdate += Objects_AvatarUpdate; + Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; + + private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) + { + // we only want our own data + if (e.Avatar.LocalID == Client.Self.LocalID) + { + // Unsubscribe from the avatar update event to prevent a loop + // where we continually request the picks every time we get an update for ourselves + Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; + // make the top picks request through AvatarManager + Client.Avatars.RequestAvatarPicks(e.Avatar.ID); + } + } + + private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) + { + // we'll unsubscribe from the AvatarPicksReply event since we now have the data + // we were looking for + Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; + // loop through the dictionary and extract the names of the top picks from our profile + foreach (var pickName in e.Picks.Values) + { + Console.WriteLine(pickName); + } + } + + + + + + + + Construct a new instance of the AvatarUpdateEventArgs class + + The simulator the packet originated from + The data + The simulator time dilation + The avatar was not in the dictionary before this update + + + Get the simulator the object originated from + + + Get the data + + + Get the simulator time dilation + + + true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) + + + Provides additional primitive data for the event + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment data + The event is also raised when a request is + made. + + + The following code example uses the , and + + properties to display new attachments and send a request for additional properties containing the name of the + attachment then display it on the window. + + // Subscribe to the event that provides additional primitive details + Client.Objects.ObjectProperties += Objects_ObjectProperties; + + // handle the properties data that arrives + private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) + { + Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); + } + + + + + + Construct a new instance of the ObjectPropertiesEventArgs class + + The simulator the object is located + The primitive Properties + + + Get the simulator the object is located + + + Get the primitive properties + + + Provides additional primitive data for the event + The event occurs when the simulator sends + an containing additional details for a Primitive or Foliage data that is currently + being tracked in the dictionary + The event is also raised when a request is + made and is enabled + + + + + Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class + + The simulator the object is located + The Primitive + The primitive Properties + + + Get the simulator the object is located + + + Get the primitive details + + + Get the primitive properties + + + Provides additional primitive data, permissions and sale info for the event + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment. This includes + Permissions, Sale info, and other basic details on an object + The event is also raised when a request is + made, the viewer equivalent is hovering the mouse cursor over an object + + + + Get the simulator the object is located + + + + + + + + + Provides primitive data containing updated location, velocity, rotation, textures for the event + The event occurs when the simulator sends updated location, velocity, rotation, etc + + + + Get the simulator the object is located + + + Get the primitive details + + + + + + + + + + + + + + Get the simulator the object is located + + + Get the primitive details + + + + + + + + + + + + + + + Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the + event + + + Get the simulator the object is located + + + The LocalID of the object + + + + Provides updates sit position data + + + + Get the simulator the object is located + + + + + + + + + + + + + + + + + Get the simulator the object is located + + + + + + + + + + + + + Indicates if the operation was successful + + + + + Media version string + + + + + Array of media entries indexed by face number + + + + + + + + + + + + + + + + De-serialization constructor for the InventoryNode Class + + + + + Serialization handler for the InventoryNode Class + + + + + De-serialization handler for the InventoryNode Class + + + + + + + + + + + + + + + + + + + + + + + For inventory folder nodes specifies weather the folder needs to be + refreshed from the server + + @@ -3068,858 +16552,6 @@ Get the simulator local position where our friend is located - - - - - - - OK - - - Transfer completed - - - - - - - - - Unknown error occurred - - - Equivalent to a 404 error - - - Client does not have permission for that resource - - - Unknown status - - - - - - - - - - - Unknown - - - Virtually all asset transfers use this channel - - - - - - - - - - - Asset from the asset server - - - Inventory item - - - Estate asset, such as an estate covenant - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Image file format - - - - - - - - - Number of milliseconds passed since the last transfer - packet was received - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Number of milliseconds to wait for a transfer header packet if out of order data was received - - - 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 - - - - Default constructor - - A reference to the GridClient object - - - - Request an asset download - - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - The callback to fire when the simulator responds with the asset data - - - - Request an asset download - - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - The callback to fire when the simulator responds with the asset data - - - - Request an asset download - - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - UUID of the transaction - The callback to fire when the simulator responds with the asset data - - - - Request an asset download through the almost deprecated Xfer system - - Filename of the asset to request - Whether or not to delete the asset - off the server after it is retrieved - Use large transfer packets or not - UUID of the file to request, if filename is - left empty - Asset type of vFileID, or - AssetType.Unknown if filename is not empty - Sets the FilePath in the request to Cache - (4) if true, otherwise Unknown (0) is used - - - - - - - Use UUID.Zero if you do not have the - asset ID but have all the necessary permissions - The item ID of this asset in the inventory - Use UUID.Zero if you are not requesting an - asset from an object inventory - The owner of this asset - Asset type - Whether to prioritize this asset download or not - - - - - Used to force asset data into the PendingUpload property, ie: for raw terrain uploads - - An AssetUpload object containing the data to upload to the simulator - - - - Request an asset be uploaded to the simulator - - The Object containing the asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired - - - - Request an asset be uploaded to the simulator - - The of the asset being uploaded - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired - - - - Request an asset be uploaded to the simulator - - - Asset type to upload this data as - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired - - - - Initiate an asset upload - - The ID this asset will have if the - upload succeeds - Asset type to upload this data as - Raw asset data to upload - Whether to store this asset on the local - simulator or the grid-wide asset server - The tranaction id for the upload - The transaction ID of this transfer - - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress - transfer. - A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority - indicating an off-by-one error. - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - Request an image and fire a callback when the request is complete - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - - Request an image and use an inline anonymous method to handle the downloaded texture data - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - ); - - Request a texture, decode the texture to a bitmap image and apply it to a imagebox - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - ManagedImage imgData; - Image bitmap; - - if (state == TextureRequestState.Finished) - { - OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); - picInsignia.Image = bitmap; - } - } - } - - - - - - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - - - - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - - - - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - - - Cancel a texture request - - The texture assets - - - - Requests download of a mesh asset - - UUID of the mesh asset - Callback when the request completes - - - - Lets TexturePipeline class fire the progress event - - The texture ID currently being downloaded - the number of bytes transferred - the total number of bytes expected - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised when the simulator responds sends - - - Raised during upload completes - - - Raised during upload with progres update - - - Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files - - - Fired when a texture is in the process of being downloaded by the TexturePipeline class - - - - Callback used for various asset download requests - - Transfer information - Downloaded asset, null on fail - - - - Callback used upon competition of baked texture upload - - Asset UUID of the newly uploaded baked texture - - - - A callback that fires upon the completition of the RequestMesh call - - Was the download successfull - Resulting mesh or null on problems - - - Xfer data - - - Upload data - - - Filename used on the simulator - - - Filename used by the client - - - UUID of the image that is in progress - - - Number of bytes received so far - - - Image size in bytes - - - - Throttles the network traffic for various different traffic types. - Access this class through GridClient.Throttle - - - - - Default constructor, uses a default high total of 1500 KBps (1536000) - - - - - Constructor that decodes an existing AgentThrottle packet in to - individual values - - Reference to the throttle data in an AgentThrottle - packet - Offset position to start reading at in the - throttle data - This is generally not needed in clients as the server will - never send a throttle packet to the client - - - - Send an AgentThrottle packet to the current server using the - current values - - - - - Send an AgentThrottle packet to the specified server using the - current values - - - - - Convert the current throttle values to a byte array that can be put - in an AgentThrottle packet - - Byte array containing all the throttle values - - - Maximum bits per second for resending unacknowledged packets - - - Maximum bits per second for LayerData terrain - - - Maximum bits per second for LayerData wind data - - - Maximum bits per second for LayerData clouds - - - Unknown, includes object data - - - Maximum bits per second for textures - - - Maximum bits per second for downloaded assets - - - Maximum bits per second the entire connection, divided up - between invidiual streams using default multipliers - - - - Represents an LSL Text object containing a string of UTF encoded characters - - - - A string of characters represting the script contents - - - Initializes a new AssetScriptText object - - - - Initializes a new AssetScriptText object with parameters - - A unique specific to this asset - A byte array containing the raw asset data - - - - Encode a string containing the scripts contents into byte encoded AssetData - - - - - Decode a byte array containing the scripts contents into a string - - true if decoding is successful - - - Override the base classes AssetType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. @@ -4069,64 +16701,212 @@ Poses set in the animation metadata for the hands. - + - Interface requirements for Messaging system + The type of bump-mapping applied to a face - - - Represents a texture - - - - A object containing image data - - + - + - - Initializes a new instance of an AssetTexture object + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Initializes a new instance of an AssetTexture object + The level of shininess applied to a face + + + + + + + + + + + + + + + + The texture mapping style used for a face + + + + + + + + + + + + + + + + + Flags in the TextureEntry block that describe which properties are + set + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 - + - Initializes a new instance of an AssetTexture object - - A object containing texture data - - - - Populates the byte array with a JPEG2000 - encoded image created from the data in + TODO: Encodes a scripts contents into a LSO Bytecode file - + - Decodes the JPEG2000 data in AssetData to the - object + TODO: Decode LSO Bytecode into a string - True if the decoding was successful, otherwise false + true - - - Decodes the begin and end byte positions for each quality layer in - the image - - - - + Override the base classes AssetType + + + Temporary code to produce a tar archive in tar v7 format + + + + + Binary writer for the underlying stream + + + + + Write a directory entry to the tar archive. We can only handle one path level right now! + + + + + + Write a file to the tar archive + + + + + + + Write a file to the tar archive + + + + + + + Finish writing the raw tar archive data to a stream. The stream will be closed on completion. + + + + + Write a particular entry + + + + + @@ -4219,15 +16999,6 @@ A generic value, not an actual packet type - - - Attempts to convert an LLSD structure to a known Packet type - - Event name, this must match an actual - packet name for a Packet to be successfully built - LLSD to convert to a Packet - A Packet on success, otherwise null - @@ -7615,3542 +20386,6 @@ - - The event subscribers. null if no subcribers - - - Raises the LandPatchReceived event - A LandPatchReceivedEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - - Default constructor - - - - - Raised when the simulator responds sends - - - Simulator from that sent tha data - - - Sim coordinate of the patch - - - Sim coordinate of the patch - - - Size of tha patch - - - Heightmap for the patch - - - - - - - - The event subscribers, null of no subscribers - - - Raises the AttachedSound Event - A AttachedSoundEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AttachedSoundGainChange Event - A AttachedSoundGainChangeEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the SoundTrigger Event - A SoundTriggerEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the PreloadSound Event - A PreloadSoundEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - - Construct a new instance of the SoundManager class, used for playing and receiving - sound assets - - A reference to the current GridClient instance - - - - Plays a sound in the current region at full volume from avatar position - - UUID of the sound to be played - - - - Plays a sound in the current region at full volume - - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - - - - Plays a sound in the current region - - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - - - - Plays a sound in the specified sim - - UUID of the sound to be played. - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - - - - Play a sound asset - - UUID of the sound to be played. - handle id for the sim to be played in. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised when the simulator sends us data containing - sound - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Provides data for the event - The event occurs when the simulator sends - the sound data which emits from an agents attachment - - The following code example shows the process to subscribe to the event - and a stub to handle the data passed from the simulator - - // Subscribe to the AttachedSound event - Client.Sound.AttachedSound += Sound_AttachedSound; - - // process the data raised in the event here - private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) - { - // ... Process AttachedSoundEventArgs here ... - } - - - - - - Construct a new instance of the SoundTriggerEventArgs class - - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The volume level - The - - - Simulator where the event originated - - - Get the sound asset id - - - Get the ID of the owner - - - Get the ID of the Object - - - Get the volume level - - - Get the - - - Provides data for the event - The event occurs when an attached sound - changes its volume level - - - - Construct a new instance of the AttachedSoundGainChangedEventArgs class - - Simulator where the event originated - The ID of the Object - The new volume level - - - Simulator where the event originated - - - Get the ID of the Object - - - Get the volume level - - - Provides data for the event - The event occurs when the simulator forwards - a request made by yourself or another agent to play either an asset sound or a built in sound - - Requests to play sounds where the is not one of the built-in - will require sending a request to download the sound asset before it can be played - - - The following code example uses the , - and - properties to display some information on a sound request on the window. - - // subscribe to the event - Client.Sound.SoundTrigger += Sound_SoundTrigger; - - // play the pre-defined BELL_TING sound - Client.Sound.SendSoundTrigger(Sounds.BELL_TING); - - // handle the response data - private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) - { - Console.WriteLine("{0} played the sound {1} at volume {2}", - e.OwnerID, e.SoundID, e.Gain); - } - - - - - - Construct a new instance of the SoundTriggerEventArgs class - - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The ID of the objects parent - The volume level - The regionhandle - The source position - - - Simulator where the event originated - - - Get the sound asset id - - - Get the ID of the owner - - - Get the ID of the Object - - - Get the ID of the objects parent - - - Get the volume level - - - Get the regionhandle - - - Get the source position - - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - - - - - - Construct a new instance of the PreloadSoundEventArgs class - - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - - - Simulator where the event originated - - - Get the sound asset id - - - Get the ID of the owner - - - Get the ID of the Object - - - - Temporary code to produce a tar archive in tar v7 format - - - - - Binary writer for the underlying stream - - - - - Write a directory entry to the tar archive. We can only handle one path level right now! - - - - - - Write a file to the tar archive - - - - - - - Write a file to the tar archive - - - - - - - Finish writing the raw tar archive data to a stream. The stream will be closed on completion. - - - - - Write a particular entry - - - - - - - - Temporary code to do the bare minimum required to read a tar archive for our purposes - - - - - Binary reader for the underlying stream - - - - - Used to trim off null chars - - - - - Used to trim off space chars - - - - - Generate a tar reader which reads from the given stream. - - - - - - Read the next entry in the tar file. - - - - the data for the entry. Returns null if there are no more entries - - - - Read the next 512 byte chunk of data as a tar header. - - A tar header struct. null if we have reached the end of the archive. - - - - Read data following a header - - - - - - - Convert octal bytes to a decimal representation - - - - - - - - - Type of return to use when returning objects from a parcel - - - - - - - Return objects owned by parcel owner - - - Return objects set to group - - - Return objects not owned by parcel owner or set to group - - - Return a specific list of objects on parcel - - - Return objects that are marked for-sale - - - - Blacklist/Whitelist flags used in parcels Access List - - - - Agent is denied access - - - Agent is granted access - - - - The result of a request for parcel properties - - - - No matches were found for the request - - - Request matched a single parcel - - - Request matched multiple parcels - - - - Flags used in the ParcelAccessListRequest packet to specify whether - we want the access list (whitelist), ban list (blacklist), or both - - - - Request the access list - - - Request the ban list - - - Request both White and Black lists - - - - Sequence ID in ParcelPropertiesReply packets (sent when avatar - tries to cross a parcel border) - - - - Parcel is currently selected - - - Parcel restricted to a group the avatar is not a - member of - - - Avatar is banned from the parcel - - - Parcel is restricted to an access list that the - avatar is not on - - - Response to hovering over a parcel - - - - The tool to use when modifying terrain levels - - - - Level the terrain - - - Raise the terrain - - - Lower the terrain - - - Smooth the terrain - - - Add random noise to the terrain - - - Revert terrain to simulator default - - - - The tool size to use when changing terrain levels - - - - Small - - - Medium - - - Large - - - - Reasons agent is denied access to a parcel on the simulator - - - - Agent is not denied, access is granted - - - Agent is not a member of the group set for the parcel, or which owns the parcel - - - Agent is not on the parcels specific allow list - - - Agent is on the parcels ban list - - - Unknown - - - Agent is not age verified and parcel settings deny access to non age verified avatars - - - - Parcel overlay type. This is used primarily for highlighting and - coloring which is why it is a single integer instead of a set of - flags - - These values seem to be poorly thought out. The first three - bits represent a single value, not flags. For example Auction (0x05) is - not a combination of OwnedByOther (0x01) and ForSale(0x04). However, - the BorderWest and BorderSouth values are bit flags that get attached - to the value stored in the first three bits. Bits four, five, and six - are unused - - - Public land - - - Land is owned by another avatar - - - Land is owned by a group - - - Land is owned by the current avatar - - - Land is for sale - - - Land is being auctioned - - - To the west of this area is a parcel border - - - To the south of this area is a parcel border - - - - Various parcel properties - - - - No flags set - - - Allow avatars to fly (a client-side only restriction) - - - Allow foreign scripts to run - - - This parcel is for sale - - - Allow avatars to create a landmark on this parcel - - - Allows all avatars to edit the terrain on this parcel - - - Avatars have health and can take damage on this parcel. - If set, avatars can be killed and sent home here - - - Foreign avatars can create objects here - - - All objects on this parcel can be purchased - - - Access is restricted to a group - - - Access is restricted to a whitelist - - - Ban blacklist is enabled - - - Unknown - - - List this parcel in the search directory - - - Allow personally owned parcels to be deeded to group - - - If Deeded, owner contributes required tier to group parcel is deeded to - - - Restrict sounds originating on this parcel to the - parcel boundaries - - - Objects on this parcel are sold when the land is - purchsaed - - - Allow this parcel to be published on the web - - - The information for this parcel is mature content - - - The media URL is an HTML page - - - The media URL is a raw HTML string - - - Restrict foreign object pushes - - - Ban all non identified/transacted avatars - - - Allow group-owned scripts to run - - - Allow object creation by group members or group - objects - - - Allow all objects to enter this parcel - - - Only allow group and owner objects to enter this parcel - - - Voice Enabled on this parcel - - - Use Estate Voice channel for Voice on this parcel - - - Deny Age Unverified Users - - - - Parcel ownership status - - - - Placeholder - - - Parcel is leased (owned) by an avatar or group - - - Parcel is in process of being leased (purchased) by an avatar or group - - - Parcel has been abandoned back to Governor Linden - - - - Category parcel is listed in under search - - - - No assigned category - - - Linden Infohub or public area - - - Adult themed area - - - Arts and Culture - - - Business - - - Educational - - - Gaming - - - Hangout or Club - - - Newcomer friendly - - - Parks and Nature - - - Residential - - - Shopping - - - Not Used? - - - Other - - - Not an actual category, only used for queries - - - - Type of teleport landing for a parcel - - - - Unset, simulator default - - - Specific landing point set for this parcel - - - No landing point set, direct teleports enabled for - this parcel - - - - Parcel Media Command used in ParcelMediaCommandMessage - - - - Stop the media stream and go back to the first frame - - - Pause the media stream (stop playing but stay on current frame) - - - Start the current media stream playing and stop when the end is reached - - - Start the current media stream playing, - loop to the beginning when the end is reached and continue to play - - - Specifies the texture to replace with video - If passing the key of a texture, it must be explicitly typecast as a key, - not just passed within double quotes. - - - Specifies the movie URL (254 characters max) - - - Specifies the time index at which to begin playing - - - Specifies a single agent to apply the media command to - - - Unloads the stream. While the stop command sets the texture to the first frame of the movie, - unload resets it to the real texture that the movie was replacing. - - - Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties - (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. - - - Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). - Use "text/html" for HTML. - - - Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). - This might still not be working - - - Sets a description for the media being displayed (1.19.1 RC0 and later only). - - - - Some information about a parcel of land returned from a DirectoryManager search - - - - Global Key of record - - - Parcel Owners - - - Name field of parcel, limited to 128 characters - - - Description field of parcel, limited to 256 characters - - - Total Square meters of parcel - - - Total area billable as Tier, for group owned land this will be 10% less than ActualArea - - - True of parcel is in Mature simulator - - - Grid global X position of parcel - - - Grid global Y position of parcel - - - Grid global Z position of parcel (not used) - - - Name of simulator parcel is located in - - - Texture of parcels display picture - - - Float representing calculated traffic based on time spent on parcel by avatars - - - Sale price of parcel (not used) - - - Auction ID of parcel - - - - Parcel Media Information - - - - A byte, if 0x1 viewer should auto scale media to fit object - - - A boolean, if true the viewer should loop the media - - - The Asset UUID of the Texture which when applied to a - primitive will display the media - - - A URL which points to any Quicktime supported media type - - - A description of the media - - - An Integer which represents the height of the media - - - An integer which represents the width of the media - - - A string which contains the mime type of the media - - - - Parcel of land, a portion of virtual real estate in a simulator - - - - The total number of contiguous 4x4 meter blocks your agent owns within this parcel - - - The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own - - - Deprecated, Value appears to always be 0 - - - Simulator-local ID of this parcel - - - UUID of the owner of this parcel - - - Whether the land is deeded to a group or not - - - - - - Date land was claimed - - - Appears to always be zero - - - This field is no longer used - - - Minimum corner of the axis-aligned bounding box for this - parcel - - - Maximum corner of the axis-aligned bounding box for this - parcel - - - Bitmap describing land layout in 4x4m squares across the - entire region - - - Total parcel land area - - - - - - Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used - - - Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel - owned by the agent or group that owns this parcel - - - Maximum number of primitives this parcel supports - - - Total number of primitives on this parcel - - - For group-owned parcels this indicates the total number of prims deeded to the group, - for parcels owned by an individual this inicates the number of prims owned by the individual - - - Total number of primitives owned by the parcel group on - this parcel, or for parcels owned by an individual with a group set the - total number of prims set to that group. - - - Total number of prims owned by other avatars that are not set to group, or not the parcel owner - - - A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect - the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed - - - Autoreturn value in minutes for others' objects - - - - - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it - - - Parcel Name - - - Parcel Description - - - URL For Music Stream - - - - - - Price for a temporary pass - - - How long is pass valid for - - - - - - Key of authorized buyer - - - Key of parcel snapshot - - - The landing point location - - - The landing point LookAt - - - The type of landing enforced from the enum - - - - - - - - - - - - Access list of who is whitelisted on this - parcel - - - Access list of who is blacklisted on this - parcel - - - TRUE of region denies access to age unverified users - - - true to obscure (hide) media url - - - true to obscure (hide) music url - - - A struct containing media details - - - - Displays a parcel object in string format - - string containing key=value pairs of a parcel object - - - - Defalt constructor - - Local ID of this parcel - - - - Update the simulator with any local changes to this Parcel object - - Simulator to send updates to - Whether we want the simulator to confirm - the update with a reply packet or not - - - - Set Autoreturn time - - Simulator to send the update to - - - - Parcel (subdivided simulator lots) subsystem - - - - The event subscribers. null if no subcribers - - - Raises the ParcelDwellReply event - A ParcelDwellReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the ParcelInfoReply event - A ParcelInfoReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the ParcelProperties event - A ParcelPropertiesEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the ParcelAccessListReply event - A ParcelAccessListReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the ParcelObjectOwnersReply event - A ParcelObjectOwnersReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the SimParcelsDownloaded event - A SimParcelsDownloadedEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the ForceSelectObjectsReply event - A ForceSelectObjectsReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the ParcelMediaUpdateReply event - A ParcelMediaUpdateReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the ParcelMediaCommand event - A ParcelMediaCommandEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - - Default constructor - - A reference to the GridClient object - - - - Request basic information for a single parcel - - Simulator-local ID of the parcel - - - - Request properties of a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - multiple simultaneous requests - - - - Request the access list for a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelAccessList reply, useful for distinguishing between - multiple simultaneous requests - - - - - Request properties of parcels using a bounding box selection - - Simulator containing the parcel - Northern boundary of the parcel selection - Eastern boundary of the parcel selection - Southern boundary of the parcel selection - Western boundary of the parcel selection - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - different types of parcel property requests - A boolean that is returned with the - ParcelProperties reply, useful for snapping focus to a single - parcel - - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) - - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) - If TRUE, will force a full refresh - Number of milliseconds to pause in between each request - - - - Request the dwell value for a parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - - - - Send a request to Purchase a parcel of land - - The Simulator the parcel is located in - The parcels region specific local ID - true if this parcel is being purchased by a group - The groups - true to remove tier contribution if purchase is successful - The parcels size - The purchase price of the parcel - - - - - Reclaim a parcel of land - - The simulator the parcel is in - The parcels region specific local ID - - - - Deed a parcel to a group - - The simulator the parcel is in - The parcels region specific local ID - The groups - - - - Request prim owners of a parcel of land. - - Simulator parcel is in - The parcels region specific local ID - - - - Return objects from a parcel - - Simulator parcel is in - The parcels region specific local ID - the type of objects to return, - A list containing object owners s to return - - - - Subdivide (split) a parcel - - - - - - - - - - Join two parcels of land creating a single parcel - - - - - - - - - - Get a parcels LocalID - - Simulator parcel is in - Vector3 position in simulator (Z not used) - 0 on failure, or parcel LocalID on success. - A call to Parcels.RequestAllSimParcels is required to populate map and - dictionary. - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - Height at which the terraform operation is acting at - - - - Sends a request to the simulator to return a list of objects owned by specific owners - - Simulator local ID of parcel - Owners, Others, Etc - List containing keys of avatars objects to select; - if List is null will return Objects of type selectType - Response data is returned in the event - - - - Eject and optionally ban a user from a parcel - - target key of avatar to eject - true to also ban target - - - - Freeze or unfreeze an avatar over your land - - target key to freeze - true to freeze, false to unfreeze - - - - Abandon a parcel of land - - Simulator parcel is in - Simulator local ID of parcel - - - - Requests the UUID of the parcel in a remote region at a specified location - - Location of the parcel in the remote region - Remote region handle - Remote region UUID - If successful UUID of the remote parcel, UUID.Zero otherwise - - - - Retrieves information on resources used by the parcel - - UUID of the parcel - Should per object resource usage be requested - Callback invoked when the request is complete - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a Parcel Update request - - - Raised when the parcel your agent is located sends a ParcelMediaCommand - - - - Parcel Accesslist - - - - Agents - - - - - - Flags for specific entry in white/black lists - - - - Owners of primitives on parcel - - - - Prim Owners - - - True of owner is group - - - Total count of prims owned by OwnerID - - - true of OwnerID is currently online and is not a group - - - The date of the most recent prim left by OwnerID - - - - Called once parcel resource usage information has been collected - - Indicates if operation was successfull - Parcel resource usage information - - - Contains a parcels dwell data returned from the simulator in response to an - - - - Construct a new instance of the ParcelDwellReplyEventArgs class - - The global ID of the parcel - The simulator specific ID of the parcel - The calculated dwell for the parcel - - - Get the global ID of the parcel - - - Get the simulator specific ID of the parcel - - - Get the calculated dwell - - - Contains basic parcel information data returned from the - simulator in response to an request - - - - Construct a new instance of the ParcelInfoReplyEventArgs class - - The object containing basic parcel info - - - Get the object containing basic parcel info - - - Contains basic parcel information data returned from the simulator in response to an request - - - - Construct a new instance of the ParcelPropertiesEventArgs class - - The object containing the details - The object containing the details - The result of the request - The number of primitieves your agent is - currently selecting and or sitting on in this parcel - The user assigned ID used to correlate a request with - these results - TODO: - - - Get the simulator the parcel is located in - - - Get the object containing the details - If Result is NoData, this object will not contain valid data - - - Get the result of the request - - - Get the number of primitieves your agent is - currently selecting and or sitting on in this parcel - - - Get the user assigned ID used to correlate a request with - these results - - - TODO: - - - Contains blacklist and whitelist data returned from the simulator in response to an request - - - - Construct a new instance of the ParcelAccessListReplyEventArgs class - - The simulator the parcel is located in - The user assigned ID used to correlate a request with - these results - The simulator specific ID of the parcel - TODO: - The list containing the white/blacklisted agents for the parcel - - - Get the simulator the parcel is located in - - - Get the user assigned ID used to correlate a request with - these results - - - Get the simulator specific ID of the parcel - - - TODO: - - - Get the list containing the white/blacklisted agents for the parcel - - - Contains blacklist and whitelist data returned from the - simulator in response to an request - - - - Construct a new instance of the ParcelObjectOwnersReplyEventArgs class - - The simulator the parcel is located in - The list containing prim ownership counts - - - Get the simulator the parcel is located in - - - Get the list containing prim ownership counts - - - Contains the data returned when all parcel data has been retrieved from a simulator - - - - Construct a new instance of the SimParcelsDownloadedEventArgs class - - The simulator the parcel data was retrieved from - The dictionary containing the parcel data - The multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. - - - Get the simulator the parcel data was retrieved from - - - A dictionary containing the parcel data where the key correlates to the ParcelMap entry - - - Get the multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. - - - Contains the data returned when a request - - - - Construct a new instance of the ForceSelectObjectsReplyEventArgs class - - The simulator the parcel data was retrieved from - The list of primitive IDs - true if the list is clean and contains the information - only for a given request - - - Get the simulator the parcel data was retrieved from - - - Get the list of primitive IDs - - - true if the list is clean and contains the information - only for a given request - - - Contains data when the media data for a parcel the avatar is on changes - - - - Construct a new instance of the ParcelMediaUpdateReplyEventArgs class - - the simulator the parcel media data was updated in - The updated media information - - - Get the simulator the parcel media data was updated in - - - Get the updated media information - - - Contains the media command for a parcel the agent is currently on - - - - Construct a new instance of the ParcelMediaCommandEventArgs class - - The simulator the parcel media command was issued in - - - The media command that was sent - - - - Get the simulator the parcel media command was issued in - - - - - - - - - Get the media command that was sent - - - - - - Size of the byte array used to store raw packet data - - - Raw packet data buffer - - - Length of the data to transmit - - - EndPoint of the remote host - - - - Create an allocated UDP packet buffer for receiving a packet - - - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host - - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host - Size of the buffer to allocate for packet data - - - - Object pool for packet buffers. This is used to allocate memory for all - incoming and outgoing packets, and zerocoding buffers for those packets - - - - - Creates a new instance of the ObjectPoolBase class. Initialize MUST be called - after using this constructor. - - - - - Creates a new instance of the ObjectPool Base class. - - The object pool is composed of segments, which - are allocated whenever the size of the pool is exceeded. The number of items - in a segment should be large enough that allocating a new segmeng is a rare - thing. For example, on a server that will have 10k people logged in at once, - the receive buffer object pool should have segment sizes of at least 1000 - byte arrays per segment. - - The minimun number of segments that may exist. - Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. - The frequency which segments are checked to see if they're eligible for cleanup. - - - - Forces the segment cleanup algorithm to be run. This method is intended - primarly for use from the Unit Test libraries. - - - - - Responsible for allocate 1 instance of an object that will be stored in a segment. - - An instance of whatever objec the pool is pooling. - - - - Checks in an instance of T owned by the object pool. This method is only intended to be called - by the WrappedObject class. - - The segment from which the instance is checked out. - The instance of T to check back into the segment. - - - - Checks an instance of T from the pool. If the pool is not sufficient to - allow the checkout, a new segment is created. - - A WrappedObject around the instance of T. To check - the instance back into the segment, be sureto dispose the WrappedObject - when finished. - - - - The total number of segments created. Intended to be used by the Unit Tests. - - - - - The number of items that are in a segment. Items in a segment - are all allocated at the same time, and are hopefully close to - each other in the managed heap. - - - - - The minimum number of segments. When segments are reclaimed, - this number of segments will always be left alone. These - segments are allocated at startup. - - - - - The age a segment must be before it's eligible for cleanup. - This is used to prevent thrash, and typical values are in - the 5 minute range. - - - - - The frequence which the cleanup thread runs. This is typically - expected to be in the 5 minute range. - - - - - Initialize the object pool in client mode - - Server to connect to - - - - - - Initialize the object pool in server mode - - - - - - - Returns a packet buffer with EndPoint set if the buffer is in - client mode, or with EndPoint set to null in server mode - - Initialized UDPPacketBuffer object - - - - Default constructor - - - - - Check a packet buffer out of the pool - - A packet buffer object - - - - - - Looking direction, must be a normalized vector - Up direction, must be a normalized vector - - - - Align the coordinate frame X and Y axis with a given rotation - around the Z axis in radians - - Absolute rotation around the Z axis in - radians - - - Origin position of this coordinate frame - - - X axis of this coordinate frame, or Forward/At in grid terms - - - Y axis of this coordinate frame, or Left in grid terms - - - Z axis of this coordinate frame, or Up in grid terms - - - - 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 - - - - 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 - - - - - - - - - - - - - - - - - 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. @@ -11215,2755 +20450,219 @@ - - - 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 - - - - Static pre-defined animations available to all agents - - - - Agent with afraid expression on face - - - Agent aiming a bazooka (right handed) - - - Agent aiming a bow (left handed) - - - Agent aiming a hand gun (right handed) - - - Agent aiming a rifle (right handed) - - - Agent with angry expression on face - - - Agent hunched over (away) - - - Agent doing a backflip - - - Agent laughing while holding belly - - - Agent blowing a kiss - - - Agent with bored expression on face - - - Agent bowing to audience - - - Agent brushing himself/herself off - - - Agent in busy mode - - - Agent clapping hands - - - Agent doing a curtsey bow - - - Agent crouching - - - Agent crouching while walking - - - Agent crying - - - Agent unanimated with arms out (e.g. setting appearance) - - - Agent re-animated after set appearance finished - - - Agent dancing - - - Agent dancing - - - Agent dancing - - - Agent dancing - - - Agent dancing - - - Agent dancing - - - Agent dancing - - - Agent dancing - - - Agent on ground unanimated - - - Agent boozing it up - - - Agent with embarassed expression on face - - - Agent with afraid expression on face - - - Agent with angry expression on face - - - Agent with bored expression on face - - - Agent crying - - - Agent showing disdain (dislike) for something - - - Agent with embarassed expression on face - - - Agent with frowning expression on face - - - Agent with kissy face - - - Agent expressing laughgter - - - Agent with open mouth - - - Agent with repulsed expression on face - - - Agent expressing sadness - - - Agent shrugging shoulders - - - Agent with a smile - - - Agent expressing surprise - - - Agent sticking tongue out - - - Agent with big toothy smile - - - Agent winking - - - Agent expressing worry - - - Agent falling down - - - Agent walking (feminine version) - - - Agent wagging finger (disapproval) - - - I'm not sure I want to know - - - Agent in superman position - - - Agent in superman position - - - Agent greeting another - - - Agent holding bazooka (right handed) - - - Agent holding a bow (left handed) - - - Agent holding a handgun (right handed) - - - Agent holding a rifle (right handed) - - - Agent throwing an object (right handed) - - - Agent in static hover - - - Agent hovering downward - - - Agent hovering upward - - - Agent being impatient - - - Agent jumping - - - Agent jumping with fervor - - - Agent point to lips then rear end - - - Agent landing from jump, finished flight, etc - - - Agent laughing - - - Agent landing from jump, finished flight, etc - - - Agent sitting on a motorcycle - - - - - - Agent moving head side to side - - - Agent moving head side to side with unhappy expression - - - Agent taunting another - - - - - - Agent giving peace sign - - - Agent pointing at self - - - Agent pointing at another - - - Agent preparing for jump (bending knees) - - - Agent punching with left hand - - - Agent punching with right hand - - - Agent acting repulsed - - - Agent trying to be Chuck Norris - - - Rocks, Paper, Scissors 1, 2, 3 - - - Agent with hand flat over other hand - - - Agent with fist over other hand - - - Agent with two fingers spread over other hand - - - Agent running - - - Agent appearing sad - - - Agent saluting - - - Agent shooting bow (left handed) - - - Agent cupping mouth as if shouting - - - Agent shrugging shoulders - - - Agent in sit position - - - Agent in sit position (feminine) - - - Agent in sit position (generic) - - - Agent sitting on ground - - - Agent sitting on ground - - - - - - Agent sleeping on side - - - Agent smoking - - - Agent inhaling smoke - - - - - - Agent taking a picture - - - Agent standing - - - Agent standing up - - - Agent standing - - - Agent standing - - - Agent standing - - - Agent standing - - - Agent stretching - - - Agent in stride (fast walk) - - - Agent surfing - - - Agent acting surprised - - - Agent striking with a sword - - - Agent talking (lips moving) - - - Agent throwing a tantrum - - - Agent throwing an object (right handed) - - - Agent trying on a shirt - - - Agent turning to the left - - - Agent turning to the right - - - Agent typing - - - Agent walking - - - Agent whispering - - - Agent whispering with fingers in mouth - - - Agent winking - - - Agent winking - - - Agent worried - - - Agent nodding yes - - - Agent nodding yes with happy face - - - Agent floating with legs and arms crossed - - - - A dictionary containing all pre-defined animations - - A dictionary containing the pre-defined animations, - where the key is the animations ID, and the value is a string - containing a name to identify the purpose of the animation - - - - Sent to the client to indicate a teleport request has completed - - - - The of the agent - - - - - - The simulators handle the agent teleported to - - - A Uri which contains a list of Capabilities the simulator supports - - - Indicates the level of access required - to access the simulator, or the content rating, or the simulators - map status - - - The IP Address of the simulator - - - The UDP Port the simulator will listen for UDP traffic on - - - Status flags indicating the state of the Agent upon arrival, Flying, etc. - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent to the client which indicates a teleport request has failed - and contains some information on why it failed - - - - - - - A string key of the reason the teleport failed e.g. CouldntTPCloser - Which could be used to look up a value in a dictionary or enum - - - The of the Agent - - - A string human readable message containing the reason - An example: Could not teleport closer to destination - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data + + The event subscribers. null if no subcribers - - - Deserialize the message - - An containing the data - - - - Contains a list of prim owner information for a specific parcel in a simulator - - - A Simulator will always return at least 1 entry - If agent does not have proper permission the OwnerID will be UUID.Zero - If agent does not have proper permission OR there are no primitives on parcel - the DataBlocksExtended map will not be sent from the simulator - - - - An Array of objects - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Prim ownership information for a specified owner on a single parcel - - - - The of the prim owner, - UUID.Zero if agent has no permission to view prim owner information - - - The total number of prims - - - True if the OwnerID is a - - - True if the owner is online - This is no longer used by the LL Simulators - - - The date the most recent prim was rezzed - - - - The details of a single parcel in a region, also contains some regionwide globals - - - - Simulator-local ID of this parcel - - - Maximum corner of the axis-aligned bounding box for this - parcel - - - Minimum corner of the axis-aligned bounding box for this - parcel - - - Total parcel land area - - - - - - Key of authorized buyer - - - Bitmap describing land layout in 4x4m squares across the - entire region - - - - - - Date land was claimed - - - Appears to always be zero - - - Parcel Description - - - - - - - - - Total number of primitives owned by the parcel group on - this parcel - - - Whether the land is deeded to a group or not - - - - - - Maximum number of primitives this parcel supports - - - The Asset UUID of the Texture which when applied to a - primitive will display the media - - - A URL which points to any Quicktime supported media type - - - A byte, if 0x1 viewer should auto scale media to fit object - - - URL For Music Stream - - - Parcel Name - - - Autoreturn value in minutes for others' objects - - - - - - Total number of other primitives on this parcel - - - UUID of the owner of this parcel - - - Total number of primitives owned by the parcel owner on - this parcel - - - - - - How long is pass valid for - - - Price for a temporary pass - - - - - - - - - - - - - - - True if the region denies access to age unverified users - - - - - - This field is no longer used - - - The result of a request for parcel properties - - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it - - - - Number of primitives your avatar is currently - selecting and sitting on in this parcel - - - - - - - - A number which increments by 1, starting at 0 for each ParcelProperties request. - Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. - a Negative number indicates the action in has occurred. - - - - Maximum primitives across the entire simulator - - - Total primitives across the entire simulator - - - - - - Key of parcel snapshot - - - Parcel ownership status - - - Total number of primitives on this parcel - - - - - - - - - A description of the media - - - An Integer which represents the height of the media - - - An integer which represents the width of the media - - - A boolean, if true the viewer should loop the media - - - A string which contains the mime type of the media - - - true to obscure (hide) media url - - - true to obscure (hide) music url - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - A message sent from the viewer to the simulator to updated a specific parcels settings - - - The of the agent authorized to purchase this - parcel of land or a NULL if the sale is authorized to anyone - - - true to enable auto scaling of the parcel media - - - The category of this parcel used when search is enabled to restrict - search results - - - A string containing the description to set - - - The of the which allows for additional - powers and restrictions. - - - The which specifies how avatars which teleport - to this parcel are handled - - - The LocalID of the parcel to update settings on - - - A string containing the description of the media which can be played - to visitors - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - Base class used for the RemoteParcelRequest message - - - - A message sent from the viewer to the simulator to request information - on a remote parcel - - - - Local sim position of the parcel we are looking up - - - Region handle of the parcel we are looking up + + Raises the LandPatchReceived event + A LandPatchReceivedEventArgs object containing the + data returned from the simulator - - Region of the parcel we are looking up + + Thread sync lock object - + - Serialize the object + Default constructor - An containing the objects data + - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator to the viewer in response to a - which will contain parcel information - - - - The grid-wide unique parcel ID - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message containing a request for a remote parcel from a viewer, or a response - from the simulator to that request - - - - The request or response details block - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator to an agent which contains - the groups the agent is in - - - - The Agent receiving the message - - - An array containing information - for each the agent is a member of - - - An array containing information - for each the agent is a member of - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - Group Details specific to the agent - - - true of the agent accepts group notices - - - The agents tier contribution to the group - - - The Groups - - - The of the groups insignia - - - The name of the group - - - The aggregate permissions the agent has in the group for all roles the agent - is assigned - - - An optional block containing additional agent specific information - - - true of the agent allows this group to be - listed in their profile - - - - A message sent from the viewer to the simulator which - specifies the language and permissions for others to detect - the language specified - - - - A string containng the default language - to use for the agent - - - true of others are allowed to - know the language setting - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - An EventQueue message sent from the simulator to an agent when the agent - leaves a group - - - - - An Array containing the AgentID and GroupID - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - An object containing the Agents UUID, and the Groups UUID - - - The ID of the Agent leaving the group - - - The GroupID the Agent is leaving - - - Base class for Asset uploads/results via Capabilities - - - - The request state - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the viewer to the simulator to request a temporary upload capability - which allows an asset to be uploaded - - - - The Capability URL sent by the simulator to upload the baked texture to - - - - A message sent from the simulator that will inform the agent the upload is complete, - and the UUID of the uploaded asset - - - - The uploaded texture asset ID - - - - A message sent from the viewer to the simulator to request a temporary - capability URI which is used to upload an agents baked appearance textures - - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator which indicates the minimum version required for - using voice chat - + + Raised when the simulator responds sends - - Major Version Required + + Simulator from that sent tha data - - Minor version required + + Sim coordinate of the patch - - The name of the region sending the version requrements + + Sim coordinate of the patch - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator to the viewer containing the - voice server URI - + + Size of tha patch - - The Parcel ID which the voice server URI applies - - - The name of the region - - - A uri containing the server/channel information - which the viewer can utilize to participate in voice conversations - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data + + Heightmap for the patch - + - - - - - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent by the viewer to the simulator to request a temporary - capability for a script contained with in a Tasks inventory to be updated - - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator to the viewer to indicate - a Tasks scripts status. - - - - The Asset ID of the script - - - True of the script is compiled/ran using the mono interpreter, false indicates it - uses the older less efficient lsl2 interprter - - - The Task containing the scripts - - - true of the script is in a running state - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message containing the request/response used for updating a gesture - contained with an agents inventory - - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message request/response which is used to update a notecard contained within - a tasks inventory - - - - The of the Task containing the notecard asset to update - - - The notecard assets contained in the tasks inventory - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability - which is used to update an asset in an agents inventory - - - - - The Notecard AssetID to replace - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message containing the request/response used for updating a notecard - contained with an agents inventory - - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator to the viewer which indicates - an error occurred while attempting to update a script in an agents or tasks - inventory - - - - true of the script was successfully compiled by the simulator - - - A string containing the error which occured while trying - to update the script - - - A new AssetID assigned to the script - - - - A message sent from the viewer to the simulator - requesting the update of an existing script contained - within a tasks inventory - - - - if true, set the script mode to running - - - The scripts InventoryItem ItemID to update - - - A lowercase string containing either "mono" or "lsl2" which - specifies the script is compiled and ran on the mono runtime, or the older - lsl runtime - - - The tasks which contains the script to update - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message containing either the request or response used in updating a script inside - a tasks inventory - - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Response from the simulator to notify the viewer the upload is completed, and - the UUID of the script asset and its compiled status - - - - The uploaded texture asset ID - - - true of the script was compiled successfully - - - - A message sent from a viewer to the simulator requesting a temporary uploader capability - used to update a script contained in an agents inventory - - - - The existing asset if of the script in the agents inventory to replace - - - The language of the script - Defaults to lsl version 2, "mono" might be another possible option - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message containing either the request or response used in updating a script inside - an agents inventory - - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - Base class for Map Layers via Capabilities - - - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Sent by an agent to the capabilities server to request map layers - - - - - A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates - - - - An array containing LayerData items - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - An object containing map location details - - - - The Asset ID of the regions tile overlay - - - The grid location of the southern border of the map tile - - - The grid location of the western border of the map tile - - - The grid location of the eastern border of the map tile - - - The grid location of the northern border of the map tile - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - New as of 1.23 RC1, no details yet. - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - A string containing the method used - - - - A request sent from an agent to the Simulator to begin a new conference. - Contains a list of Agents which will be included in the conference - - - - An array containing the of the agents invited to this conference - - - The conferences Session ID - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A moderation request sent from a conference moderator - Contains an agent and an optional action to take - - - - The Session ID - - - - - - A list containing Key/Value pairs, known valid values: - key: text value: true/false - allow/disallow specified agents ability to use text in session - key: voice value: true/false - allow/disallow specified agents ability to use voice in session - - "text" or "voice" - - - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the agent to the simulator which tells the - simulator we've accepted a conference invitation - - - - The conference SessionID - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - Key of sender - - - Name of sender - - - Key of destination avatar - - - ID of originating estate - - - Key of originating region - - - Coordinates in originating region - - - Instant message type - - - Group IM session toggle - - - Key of IM session, for Group Messages, the groups UUID - - - Timestamp of the instant message - - - Instant message text - - - Whether this message is held for offline avatars - - - Context specific packed data - - - Is this invitation for voice group/conference chat - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Sent from the simulator to the viewer. - - When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including - a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate - this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" - - During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are - excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with - the string "ENTER" or "LEAVE" respectively. - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - An EventQueue message sent when the agent is forcibly removed from a chatterbox session - - - - - A string containing the reason the agent was removed - - - - - The ChatterBoxSession's SessionID - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - A message sent from the viewer to the simulator which - specifies that the user has changed current URL - of the specific media on a prim face - - - - - New URL - - - - - Prim UUID where navigation occured - - - - - Face index - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - Base class used for the ObjectMedia message - - - - Message used to retrive prim media data - - - - - Prim UUID - - - - - Requested operation, either GET or UPDATE - - - - - Serialize object - - Serialized object as OSDMap - - - - Deserialize the message - - An containing the data - - - - Message used to update prim media data - - - - - Prim UUID - - - - - Array of media entries indexed by face number - - - - - Media version string - - - - - Serialize object - - Serialized object as OSDMap - - - - Deserialize the message - - An containing the data - - - - Message used to update prim media data - - - - - Prim UUID - - - - - Array of media entries indexed by face number - - - - - Requested operation, either GET or UPDATE - - - - - Serialize object - - Serialized object as OSDMap - - - - Deserialize the message - - An containing the data - - - - Message for setting or getting per face MediaEntry - - - - The request or response details block - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - Details about object resource usage - - - Object UUID - - - Object name - - - Indicates if object is group owned - - - Locatio of the object - - - Object owner - - - Resource usage, keys are resource names, values are resource usage for that specific resource - - - - Deserializes object from OSD - - An containing the data - - - - Makes an instance based on deserialized data - - serialized data - Instance containg deserialized data - - - Details about parcel resource usage - - - Parcel UUID - - - Parcel local ID - - - Parcel name - - - Indicates if parcel is group owned - - - Parcel owner - - - Array of containing per object resource usage - - - - Deserializes object from OSD - - An containing the data - - - - Makes an instance based on deserialized data - - serialized data - Instance containg deserialized data - - - Resource usage base class, both agent and parcel resource - usage contains summary information - - - Summary of available resources, keys are resource names, - values are resource usage for that specific resource - - - Summary resource usage, keys are resource names, - values are resource usage for that specific resource - - - - Serializes object - - serialized data - - - - Deserializes object from OSD - - An containing the data - - - Agent resource usage - - - Per attachment point object resource usage - - - - Deserializes object from OSD - - An containing the data - - - - Makes an instance based on deserialized data - - serialized data - Instance containg deserialized data - - - - Detects which class handles deserialization of this message - - An containing the data - Object capable of decoding this message - - - Request message for parcel resource usage - - - UUID of the parel to request resource usage info - - - - Serializes object - - serialized data - - - - Deserializes object from OSD - - An containing the data - - - Response message for parcel resource usage - - - URL where parcel resource usage details can be retrieved - - - URL where parcel resource usage summary can be retrieved - - - - Serializes object - - serialized data - - - - Deserializes object from OSD - - An containing the data - - - - Detects which class handles deserialization of this message - - An containing the data - Object capable of decoding this message - - - Parcel resource usage - - - Array of containing per percal resource usage - - - - Deserializes object from OSD - - An containing the data - - - - Image width - - - - - Image height - - - - - Image channel flags - - - - - Red channel data - - - - - Green channel data - - - - - Blue channel data - - - - - Alpha channel data - - - - - Bump channel data - - - - - Create a new blank image - - width - height - channel flags - - + - - - - Convert the channels in the image. Channels are created or destroyed as required. - - new channel flags + + Size of the byte array used to store raw packet data - - - Resize or stretch the image using nearest neighbor (ugly) resampling - - new width - new height + + Raw packet data buffer - - - 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 + + Length of the data to transmit - + + EndPoint of the remote host + + - Operation to apply when applying color to texture + Create an allocated UDP packet buffer for receiving a packet - + - Information needed to translate visual param value to RGBA color + Create an allocated UDP packet buffer for sending a packet + + EndPoint of the remote host + + + + Create an allocated UDP packet buffer for sending a packet + + EndPoint of the remote host + Size of the buffer to allocate for packet data + + + + Object pool for packet buffers. This is used to allocate memory for all + incoming and outgoing packets, and zerocoding buffers for those packets - + - Construct VisualColorParam + Initialize the object pool in client mode - Operation to apply when applying color to texture - Colors + Server to connect to + + - + - Represents alpha blending and bump infor for a visual parameter - such as sleive length + Initialize the object pool in server mode + + + + + + + Returns a packet buffer with EndPoint set if the buffer is in + client mode, or with EndPoint set to null in server mode + + Initialized UDPPacketBuffer object + + + + Default constructor - - Stregth of the alpha to apply - - - File containing the alpha channel - - - Skip blending if parameter value is 0 - - - Use miltiply insted of alpha blending - - + - Create new alhpa information for a visual param + Check a packet buffer out of the pool - Stregth of the alpha to apply - File containing the alpha channel - Skip blending if parameter value is 0 - Use miltiply insted of alpha blending + A packet buffer object - + - A single visual characteristic of an avatar mesh, such as eyebrow height + Singleton logging class for the entire library - - Index of this visual param + + log4net logging engine - - Internal name - - - Group ID this parameter belongs to - - - Name of the wearable this parameter belongs to - - - Displayable label of this characteristic - - - Displayable label for the minimum value of this characteristic - - - Displayable label for the maximum value of this characteristic - - - Default value - - - Minimum value - - - Maximum value - - - Is this param used for creation of bump layer? - - - Alpha blending/bump info - - - Color information - - - Array of param IDs that are drivers for this parameter - - + - Set all the values through the constructor + Default constructor - Index of this visual param - Internal name - - - Displayable label of this characteristic - Displayable label for the minimum value of this characteristic - Displayable label for the maximum value of this characteristic - Default value - Minimum value - Maximum value - Is this param used for creation of bump layer? - Array of param IDs that are drivers for this parameter - Alpha blending/bump info - Color information - + - Holds the Params array of all the avatar appearance parameters + Send a log message to the logging engine + The log message + The severity of the log entry + + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Instance of the client + + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Exception that was raised + + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Instance of the client + Exception that was raised + + + + If the library is compiled with DEBUG defined, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine + + The message to log at the DEBUG level to the + current logging engine + + + + If the library is compiled with DEBUG defined and + GridClient.Settings.DEBUG is true, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine + + The message to log at the DEBUG level to the + current logging engine + Instance of the client + + + Triggered whenever a message is logged. If this is left + null, log messages will go to the console + + + + Callback used for client apps to receive log messages from + the library + + Data being logged + The severity of the log entry from Sort by name @@ -15401,5192 +22100,6 @@ from a task. - - - Registers, unregisters, and fires events generated by incoming packets - - - - Reference to the GridClient object - - - - Default constructor - - - - - - Register an event handler - - Use PacketType.Default to fire this event on every - incoming packet - Packet type to register the handler for - Callback to be fired - True if this callback should be ran - asynchronously, false to run it synchronous - - - - Unregister an event handler - - Packet type to unregister the handler for - Callback to be unregistered - - - - Fire the events registered for this packet type - - Incoming packet type - Incoming packet - Simulator this packet was received from - - - - Object that is passed to worker threads in the ThreadPool for - firing packet callbacks - - - - Callback to fire for this packet - - - Reference to the simulator that this packet came from - - - The packet that needs to be processed - - - - Registers, unregisters, and fires events generated by the Capabilities - event queue - - - - Reference to the GridClient object - - - - Default constructor - - Reference to the GridClient object - - - - Register an new event handler for a capabilities event sent via the EventQueue - - Use String.Empty to fire this event on every CAPS event - Capability event name to register the - handler for - Callback to fire - - - - Unregister a previously registered capabilities handler - - Capability event name unregister the - handler for - Callback to unregister - - - - Fire the events registered for this event type synchronously - - Capability name - Decoded event body - Reference to the simulator that - generated this event - - - - Fire the events registered for this event type asynchronously - - Capability name - Decoded event body - Reference to the simulator that - generated this event - - - - Object that is passed to worker threads in the ThreadPool for - firing CAPS callbacks - - - - Callback to fire for this packet - - - Name of the CAPS event - - - Strongly typed decoded data - - - Reference to the simulator that generated this event - - - - Represends individual HTTP Download request - - - - URI of the item to fetch - - - Timout specified in milliseconds - - - Download progress callback - - - Download completed callback - - - Accept the following content type - - - Default constructor - - - Constructor - - - - Manages async HTTP downloads with a limit on maximum - concurrent downloads - - - - Default constructor - - - Cleanup method - - - Setup http download request - - - Check the queue for pending work - - - Enqueue a new HTPP download - - - Maximum number of parallel downloads from a single endpoint - - - Client certificate - - - - Avatar profile flags - - - - - Represents an avatar (other than your own) - - - - Groups that this avatar is a member of - - - Positive and negative ratings - - - Avatar properties including about text, profile URL, image IDs and - publishing settings - - - Avatar interests including spoken languages, skills, and "want to" - choices - - - Movement control flags for avatars. Typically not set or used by - clients. To move your avatar, use Client.Self.Movement instead - - - - Contains the visual parameters describing the deformation of the avatar - - - - - Default constructor - - - - First name - - - Last name - - - Full name - - - Active group - - - - Positive and negative ratings - - - - Positive ratings for Behavior - - - Negative ratings for Behavior - - - Positive ratings for Appearance - - - Negative ratings for Appearance - - - Positive ratings for Building - - - Negative ratings for Building - - - Positive ratings given by this avatar - - - Negative ratings given by this avatar - - - - Avatar properties including about text, profile URL, image IDs and - publishing settings - - - - First Life about text - - - First Life image ID - - - - - - - - - - - - - - - Profile image ID - - - Flags of the profile - - - Web URL for this profile - - - Should this profile be published on the web - - - Avatar Online Status - - - Is this a mature profile - - - - - - - - - - Avatar interests including spoken languages, skills, and "want to" - choices - - - - Languages profile field - - - - - - - - - - - - - - - - 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 - - - - - - - - - Initialize the UDP packet handler in server mode - - Port to listening for incoming UDP packets on - - - - Initialize the UDP packet handler in client mode - - Remote UDP server to connect to - - - - - - - - - - - - - - - - - - - A Name Value pair with additional settings, used in the protocol - primarily to transmit avatar names and active group in object packets - - - - - - - - - - - - - - - - - - - - Constructor that takes all the fields as parameters - - - - - - - - - - Constructor that takes a single line from a NameValue field - - - - - Type of the value - - - Unknown - - - String value - - - - - - - - - - - - - - - Deprecated - - - String value, but designated as an asset - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - Indicates whether appearance setting was successful - - - Contains the Event data returned from the data server from an RebakeAvatarTextures - - - - Triggered when the simulator sends a request for this agent to rebake - its appearance - - The ID of the Texture Layer to bake - - - The ID of the Texture Layer to bake - - - - Level of Detail mesh - - - - - Represents Mesh asset - - - - Initializes a new instance of an AssetMesh object - - - Initializes a new instance of an AssetMesh object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - - TODO: Encodes a scripts contents into a LSO Bytecode file - - - - - TODO: Decode LSO Bytecode into a string - - true - - - Override the base classes AssetType - - - - The current status of a texture request as it moves through the pipeline or final result of a texture request. - - - - The initial state given to a request. Requests in this state - are waiting for an available slot in the pipeline - - - A request that has been added to the pipeline and the request packet - has been sent to the simulator - - - A request that has received one or more packets back from the simulator - - - A request that has received all packets back from the simulator - - - A request that has taken longer than - to download OR the initial packet containing the packet information was never received - - - The texture request was aborted by request of the agent - - - The simulator replied to the request that it was not able to find the requested texture - - - - A callback fired to indicate the status or final state of the requested texture. For progressive - downloads this will fire each time new asset data is returned from the simulator. - - The indicating either Progress for textures not fully downloaded, - or the final result of the request after it has been processed through the TexturePipeline - The object containing the Assets ID, raw data - and other information. For progressive rendering the will contain - the data from the beginning of the file. For failed, aborted and timed out requests it will contain - an empty byte array. - - - - Texture request download handler, allows a configurable number of download slots which manage multiple - concurrent texture downloads from the - - This class makes full use of the internal - system for full texture downloads. - - - A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID - and also the Asset Texture ID, and the value is an object containing the current state of the request and also - the asset data as it is being re-assembled - - - Holds the reference to the client object - - - Maximum concurrent texture requests allowed at a time - - - An array of objects used to manage worker request threads - - - An array of worker slots which shows the availablity status of the slot - - - The primary thread which manages the requests. - - - true if the TexturePipeline is currently running - - - A synchronization object used by the primary thread - - - A refresh timer used to increase the priority of stalled requests - - - - Default constructor, Instantiates a new copy of the TexturePipeline class - - Reference to the instantiated object - - - - Initialize callbacks required for the TexturePipeline to operate - - - - - Shutdown the TexturePipeline and cleanup any callbacks or transfers - - - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - - - Sends the actual request packet to the simulator - - The image to download - Type of the image to download, either a baked - avatar texture or a normal texture - Priority level of the download. Default is - 1,013,000.0f - Number of quality layers to discard. - This controls the end marker of the data sent - Packet number to start the download at. - This controls the start marker of the data sent - Sending a priority of 0 and a discardlevel of -1 aborts - download - - - - Cancel a pending or in process texture request - - The texture assets unique ID - - - - Master Download Thread, Queues up downloads in the threadpool - - - - - The worker thread that sends the request and handles timeouts - - A object containing the request details - - - - Handle responses from the simulator that tell us a texture we have requested is unable to be located - or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use - - The sender - The EventArgs object containing the packet data - - - - Handles the remaining Image data that did not fit in the initial ImageData packet - - The sender - The EventArgs object containing the packet data - - - - Handle the initial ImageDataPacket sent from the simulator - - The sender - The EventArgs object containing the packet data - - - Current number of pending and in-process transfers - - - - A request task containing information and status of a request as it is processed through the - - - - The current which identifies the current status of the request - - - The Unique Request ID, This is also the Asset ID of the texture being requested - - - The slot this request is occupying in the threadpoolSlots array - - - The ImageType of the request. - - - The callback to fire when the request is complete, will include - the and the - object containing the result data - - - If true, indicates the callback will be fired whenever new data is returned from the simulator. - This is used to progressively render textures as portions of the texture are received. - - - An object that maintains the data of an request thats in-process. - Map layer request type @@ -20938,2542 +22451,1567 @@ Current world time - - - Access to the data server which allows searching for land, events, people, etc - - - - The event subscribers. null if no subcribers - - - Raises the EventInfoReply event - An EventInfoReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the DirEventsReply event - An DirEventsReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the PlacesReply event - A PlacesReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the DirPlacesReply event - A DirPlacesReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the DirClassifiedsReply event - A DirClassifiedsReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the DirGroupsReply event - A DirGroupsReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the DirPeopleReply event - A DirPeopleReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the DirLandReply event - A DirLandReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - - Constructs a new instance of the DirectoryManager class - - An instance of GridClient - - - - Query the data server for a list of classified ads containing the specified string. - Defaults to searching for classified placed in any category, and includes PG, Adult and Mature - results. - - Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for - A UUID to correlate the results when the event is raised - - - - Query the data server for a list of classified ads which contain specified keywords (Overload) - - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for - The category to search - A set of flags which can be ORed to modify query options - such as classified maturity rating. - A UUID to correlate the results when the event is raised - - Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature - - UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); - - - - Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - - - - - Starts search for places (Overloaded) - - The event is raised when a response is received from the simulator - - Search text - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - - - - Queries the dataserver for parcels of land which are flagged to be shown in search - - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for separated by a space character - A set of flags which can be ORed to modify query options - such as classified maturity rating. - The category to search - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - - Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult - - UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); - - - - Additional information on the results can be obtained by using the ParcelManager.InfoRequest method - - - - - Starts a search for land sales using the directory - - The event is raised when a response is received from the simulator - - What type of land to search for. Auction, - estate, mainland, "first land", etc - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. - - - - Starts a search for land sales using the directory - - The event is raised when a response is received from the simulator - - What type of land to search for. Auction, - estate, mainland, "first land", etc - Maximum price to search for - Maximum area to search for - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. - - - - Send a request to the data server for land sales listings - - - Flags sent to specify query options - - Available flags: - Specify the parcel rating with one or more of the following: - IncludePG IncludeMature IncludeAdult - - Specify the field to pre sort the results with ONLY ONE of the following: - PerMeterSort NameSort AreaSort PricesSort - - Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order - SortAsc - - Specify additional filters to limit the results with one or both of the following: - LimitByPrice LimitByArea - - Flags can be combined by separating them with the | (pipe) character - - Additional details can be found in - - What type of land to search for. Auction, - Estate or Mainland - Maximum price to search for when the - DirFindFlags.LimitByPrice flag is specified in findFlags - Maximum area to search for when the - DirFindFlags.LimitByArea flag is specified in findFlags - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - The event will be raised with the response from the simulator - - There is no way to determine how many results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each reply. - - Any land set for sale to either anybody or specific to the connected agent will be included in the - results if the land is included in the query - - - // request all mainland, any maturity rating that is larger than 512 sq.m - StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); - - - - - Search for Groups - - The name or portion of the name of the group you wish to search for - Start from the match number - - - - - Search for Groups - - The name or portion of the name of the group you wish to search for - Start from the match number - Search flags - - - - - Search the People directory for other avatars - - The name or portion of the name of the avatar you wish to search for - - - - - - Search Places for parcels of land you personally own - - - - - Searches Places for land owned by the specified group - - ID of the group you want to recieve land list for (You must be a member of the group) - Transaction (Query) ID which can be associated with results from your request. - - - - Search the Places directory for parcels that are listed in search and contain the specified keywords - - A string containing the keywords to search for - Transaction (Query) ID which can be associated with results from your request. - - - - Search Places - All Options - - One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. - One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer - A string containing a list of keywords to search for separated by a space character - String Simulator Name to search in - LLUID of group you want to recieve results for - Transaction (Query) ID which can be associated with results from your request. - Transaction (Query) ID which can be associated with results from your request. - - - - Search All Events with specifid searchText in all categories, includes PG, Mature and Adult - - A string containing a list of keywords to search for separated by a space character - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - UUID of query to correlate results in callback. - - - - Search Events - - A string containing a list of keywords to search for separated by a space character - One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult - from the Enum - - Multiple flags can be combined by separating the flags with the | (pipe) character - "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled - For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - EventCategory event is listed under. - UUID of query to correlate results in callback. - - - Requests Event Details - ID of Event returned from the method - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Classified Ad categories - - - Classified is listed in the Any category - - - Classified is shopping related - - - Classified is - - - - - - - - - - - - - - - - - - - - - - - - Event Categories - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. - - Flags can be combined using the | (pipe) character, not all flags are available in all queries - - - - Query the People database - - - - - - - - - Query the Groups database - - - Query the Events database - - - Query the land holdings database for land owned by the currently connected agent - - - - - - Query the land holdings database for land which is owned by a Group - - - Specifies the query should pre sort the results based upon traffic - when searching the Places database - - - - - - - - - - - - - - - Specifies the query should pre sort the results in an ascending order when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results using the Name field when searching the land sales database. - This flag is only used when searching the land sales database - - - When set, only parcels less than the specified Price will be included when searching the land sales database. - This flag is only used when searching the land sales database - - - When set, only parcels greater than the specified Size will be included when searching the land sales database. - This flag is only used when searching the land sales database - - - - - - - - - Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases - - - Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases - - - Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases - - - - - - - Land types to search dataserver for - - - - Search Auction, Mainland and Estate - - - Land which is currently up for auction - - - Parcels which are on the mainland (Linden owned) continents - - - Parcels which are on privately owned simulators - - - - The content rating of the event - - - - Event is PG - - - Event is Mature - - - Event is Adult - - - - Classified Ad Options - - There appear to be two formats the flags are packed in. - This set of flags is for the newer style - - - - - - - - - - - - - - - - - - - Classified ad query options - - - - Include all ads in results - - - Include PG ads in results - - - Include Mature ads in results - - - Include Adult ads in results - - - - The For Sale flag in PlacesReplyData - - - - Parcel is not listed for sale - - - Parcel is For Sale - - - - A classified ad on the grid - - - - UUID for this ad, useful for looking up detailed - information about it - - - The title of this classified ad - - - Flags that show certain options applied to the classified - - - Creation date of the ad - - - Expiration date of the ad - - - Price that was paid for this ad - - - Print the struct data as a string - A string containing the field name, and field value - - - - A parcel retrieved from the dataserver such as results from the - "For-Sale" listings or "Places" Search - - - - The unique dataserver parcel ID - This id is used to obtain additional information from the entry - by using the method - - - A string containing the name of the parcel - - - The size of the parcel - This field is not returned for Places searches - - - The price of the parcel - This field is not returned for Places searches - - - If True, this parcel is flagged to be auctioned - - - If true, this parcel is currently set for sale - - - Parcel traffic - - - Print the struct data as a string - A string containing the field name, and field value - - - - An Avatar returned from the dataserver - - - - Online status of agent - This field appears to be obsolete and always returns false - - - The agents first name - - - The agents last name - - - The agents - - - Print the struct data as a string - A string containing the field name, and field value - - - - Response to a "Groups" Search - - - - The Group ID - - - The name of the group - - - The current number of members - - - Print the struct data as a string - A string containing the field name, and field value - - - - Parcel information returned from a request - - Represents one of the following: - A parcel of land on the grid that has its Show In Search flag set - A parcel of land owned by the agent making the request - A parcel of land owned by a group the agent making the request is a member of - - - In a request for Group Land, the First record will contain an empty record - - Note: This is not the same as searching the land for sale data source - - - - The ID of the Agent of Group that owns the parcel - - - The name - - - The description - - - The Size of the parcel - - - The billable Size of the parcel, for mainland - parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller - than the ActualArea. For Estate land this will always be 0 - - - Indicates the ForSale status of the parcel - - - The Gridwide X position - - - The Gridwide Y position - - - The Z position of the parcel, or 0 if no landing point set - - - The name of the Region the parcel is located in - - - The Asset ID of the parcels Snapshot texture - - - The calculated visitor traffic - - - The billing product SKU - Known values are: - - 023Mainland / Full Region - 024Estate / Full Region - 027Estate / Openspace - 029Estate / Homestead - 129Mainland / Homestead (Linden Owned) - - - - - No longer used, will always be 0 - - - Get a SL URL for the parcel - A string, containing a standard SLURL - - - Print the struct data as a string - A string containing the field name, and field value - - - - An "Event" Listing summary - - - - The ID of the event creator - - - The name of the event - - - The events ID - - - A string containing the short date/time the event will begin - - - The event start time in Unixtime (seconds since epoch) - - - The events maturity rating - - - Print the struct data as a string - A string containing the field name, and field value - - - - The details of an "Event" - - - - The events ID - - - The ID of the event creator - - - The name of the event - - - The category - - - The events description - - - The short date/time the event will begin - - - The event start time in Unixtime (seconds since epoch) UTC adjusted - - - The length of the event in minutes - - - 0 if no cover charge applies - - - The cover charge amount in L$ if applicable - - - The name of the region where the event is being held - - - The gridwide location of the event - - - The maturity rating - - - Get a SL URL for the parcel where the event is hosted - A string, containing a standard SLURL - - - Print the struct data as a string - A string containing the field name, and field value - - - Contains the Event data returned from the data server from an EventInfoRequest - - - Construct a new instance of the EventInfoReplyEventArgs class - A single EventInfo object containing the details of an event - - - - A single EventInfo object containing the details of an event - - - - Contains the "Event" detail data returned from the data server - - - Construct a new instance of the DirEventsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Events" returned by the search query - - - The ID returned by - - - A list of "Events" returned by the data server - - - Contains the "Event" list data returned from the data server - - - Construct a new instance of PlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Places" returned by the data server query - - - The ID returned by - - - A list of "Places" returned by the data server - - - Contains the places data returned from the data server - - - Construct a new instance of the DirPlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing land data returned by the data server - - - The ID returned by - - - A list containing Places data returned by the data server - - - Contains the classified data returned from the data server - - - Construct a new instance of the DirClassifiedsReplyEventArgs class - A list of classified ad data returned from the data server - - - A list containing Classified Ads returned by the data server - - - Contains the group data returned from the data server - - - Construct a new instance of the DirGroupsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of groups data returned by the data server - - - The ID returned by - - - A list containing Groups data returned by the data server - - - Contains the people data returned from the data server - - - Construct a new instance of the DirPeopleReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of people data returned by the data server - - - The ID returned by - - - A list containing People data returned by the data server - - - Contains the land sales data returned from the data server - - - Construct a new instance of the DirLandReplyEventArgs class - A list of parcels for sale returned by the data server - - - A list containing land forsale data returned by the data server - - - - Abstract base for rendering plugins - - - - - Generates a basic mesh structure from a primitive - - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh - - - - Generates a basic mesh structure from a sculpted primitive and - texture - - Sculpted primitive to generate the mesh from - Sculpt texture - Level of detail to generate the mesh at - The generated mesh - - - - Generates a series of faces, each face containing a mesh and - metadata - - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh - - - - Generates a series of faces for a sculpted prim, each face - containing a mesh and metadata - - Sculpted primitive to generate the mesh from - Sculpt texture - Level of detail to generate the mesh at - The generated mesh - - - - Apply texture coordinate modifications from a - to a list of vertices - - Vertex list to modify texture coordinates for - Center-point of the face - Face texture parameters - - - - 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 - - - - - Decode the raw asset data including the Linden Text properties - - true if the AssetData was successfully decoded - - - Override the base classes AssetType - - - - Represents an Animation - - - - Default Constructor - - - - Construct an Asset object of type Animation - - A unique specific to this asset - A byte array containing the raw asset data - - - Override the base classes AssetType - - - - Constants for the archiving module - - - - - The location of the archive control file - - - - - Path for the assets held in an archive - - - - - Path for the prims file - - - - - Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. - - - - - Path for region settings. - - - - - The character the separates the uuid from extension information in an archived asset filename - - - - - Extensions used for asset types in the archive - - - + - - No report + + - - Unknown report type + + - - Bug report + + - - Complaint report + + - - Customer service report + + - + + + + + + + - Bitflag field for ObjectUpdateCompressed data blocks, describing - which options are present for each object + 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 - - Whether the object has a TreeSpecies + + An array of string sent to the login server to enable various options - - Whether the object has floating text ala llSetText + + 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 - - Whether the object has an active particle system - - - Whether the object has sound attached to it - - - Whether the object is attached to a root object or not - - - Whether the object has texture animation settings - - - Whether the object has an angular velocity - - - Whether the object has a name value pairs string - - - Whether the object has a Media URL set - - + - Specific Flags for MultipleObjectUpdate requests + Default constuctor, initializes sane default values - - 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 + 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 + + - Indicates that this pay option should be hidden + 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 + + + + - + + OK + + + Transfer completed + + + + + + + + + Unknown error occurred + + + Equivalent to a 404 error + + + Client does not have permission for that resource + + + Unknown status + + - Indicates that this pay option should have the default value + - + + + + + Unknown + + + Virtually all asset transfers use this channel + + - Contains the variables sent in an object update packet for objects. - Used to track position and movement of prims and avatars + - + - - + + Asset from the asset server - - + + Inventory item - - + + Estate asset, such as an estate covenant - - - - - - - - - - - - - - - - - - - + - Handles all network traffic related to prims and avatar positions and - movement. + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the ObjectProperties Event - A ObjectPropertiesEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the ObjectPropertiesUpdated Event - A ObjectPropertiesUpdatedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the ObjectPropertiesFamily Event - A ObjectPropertiesFamilyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AvatarUpdate Event - A AvatarUpdateEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the ObjectDataBlockUpdate Event - A ObjectDataBlockUpdateEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the KillObject Event - A KillObjectEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AvatarSitChanged Event - A AvatarSitChangedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the PayPriceReply Event - A PayPriceReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Reference to the GridClient object - - - Does periodic dead reckoning calculation to convert - velocity and acceleration to new positions for objects - - + - Construct a new instance of the ObjectManager class + - A reference to the instance - + + + + + + + - Request information for a single object from a - you are currently connected to + Image file format - The the object is located - The Local ID of the object - + - Request information for multiple objects contained in - the same simulator + - The the objects are located - An array containing the Local IDs of the objects - + + Number of milliseconds passed since the last transfer + packet was received + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Number of milliseconds to wait for a transfer header packet if out of order data was received + + + 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 + + + + Default constructor + + A reference to the GridClient object + + + + Request an asset download + + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + The callback to fire when the simulator responds with the asset data + + + + Request an asset download + + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + The callback to fire when the simulator responds with the asset data + + + + Request an asset download + + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + UUID of the transaction + The callback to fire when the simulator responds with the asset data + + + + Request an asset download through the almost deprecated Xfer system + + Filename of the asset to request + Whether or not to delete the asset + off the server after it is retrieved + Use large transfer packets or not + UUID of the file to request, if filename is + left empty + Asset type of vFileID, or + AssetType.Unknown if filename is not empty + Sets the FilePath in the request to Cache + (4) if true, otherwise Unknown (0) is used + + + + + + + Use UUID.Zero if you do not have the + asset ID but have all the necessary permissions + The item ID of this asset in the inventory + Use UUID.Zero if you are not requesting an + asset from an object inventory + The owner of this asset + Asset type + Whether to prioritize this asset download or not + + + + + Used to force asset data into the PendingUpload property, ie: for raw terrain uploads + + An AssetUpload object containing the data to upload to the simulator + + + + Request an asset be uploaded to the simulator + + The Object containing the asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired + + + + Request an asset be uploaded to the simulator + + The of the asset being uploaded + A byte array containing the encoded asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired + + + + Request an asset be uploaded to the simulator + + + Asset type to upload this data as + A byte array containing the encoded asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired + + + + Initiate an asset upload + + The ID this asset will have if the + upload succeeds + Asset type to upload this data as + Raw asset data to upload + Whether to store this asset on the local + simulator or the grid-wide asset server + The tranaction id for the upload + The transaction ID of this transfer + + - Attempt to purchase an original object, a copy, or the contents of - an object + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator - The 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 + 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 - BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, - 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); - - - - - - Request prices that should be displayed in pay dialog. This will triggger the simulator - to send us back a PayPriceReply which can be handled by OnPayPriceReply event - - The the object is located - The ID of the object - The result is raised in the event - - - - Select a single object. This will cause the to send us - an which will raise the event - - The the object is located - The Local ID of the object - - - - - Select a single object. This will cause the to send us - an which will raise the event - - The the object is located - The Local ID of the object - if true, a call to is - made immediately following the request - - - - - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - Should objects be deselected immediately after selection - - - - - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - - - - - Update the properties of an object - - The the object is located - The Local ID of the object - true to turn the objects physical property on - true to turn the objects temporary property on - true to turn the objects phantom property on - true to turn the objects cast shadows property on - - - - Sets the sale properties of a single object - - The the object is located - The Local ID of the object - One of the options from the enum - The price of the object - - - - Sets the sale properties of multiple objects - - The the objects are located - An array containing the Local IDs of the objects - One of the options from the enum - The price of the object - - - - Deselect a single object - - The the object is located - The Local ID of the object - - - - Deselect multiple objects. - - The the objects are located - An array containing the Local IDs of the objects - - - - Perform a click action on an object - - The the object is located - The Local ID of the object - - - - Perform a click action (Grab) on a single object - - The the object is located - The Local ID of the object - The texture coordinates to touch - The surface coordinates to touch - The face of the position to touch - The region coordinates of the position to touch - The surface normal of the position to touch (A normal is a vector perpindicular to the surface) - The surface binormal of the position to touch (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties - - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Specify the - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties - - - - Rez a Linden tree - - A reference to the object where the object resides - The size of the tree - The rotation of the tree - The position of the tree - The Type of tree - The of the group to set the tree to, - or UUID.Zero if no group is to be set - true to use the "new" Linden trees, false to use the old - - - - Rez grass and ground cover - - A reference to the object where the object resides - The size of the grass - The rotation of the grass - The position of the grass - The type of grass from the enum - The of the group to set the tree to, - or UUID.Zero if no group is to be set - - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply - - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply - A media URL (not used) - - - - Set the Light data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set - - - - Set the flexible data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set - - - - Set the sculptie texture and data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set - - - - Unset additional primitive parameters on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The extra parameters to set - - - - Link multiple prims into a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to link - The last object in the array will be the root object of the linkset TODO: Is this true? - - - - Delink/Unlink multiple prims from a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to delink - - - - Change the rotation of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation of the object - - - - Set the name of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new name of the object - - - - Set the name of multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the name of - An array which contains the new names of the objects - - - - Set the description of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new description of the object - - - - Set the descriptions of multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the description of - An array which contains the new descriptions of the objects - - - - Attach an object to this avatar - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The point on the avatar the object will be attached - The rotation of the attached object - - - - Drop an attached object from this avatar - - A reference to the - object where the objects reside. This will always be the simulator the avatar is currently in - - The object's ID which is local to the simulator the object is in - - - - Detach an object from yourself - - A reference to the - object where the objects reside - - This will always be the simulator the avatar is currently in - - An array which contains the IDs of the objects to detach - - - - Change the position of an object, Will change position of entire linkset - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - - - - Change the position of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - if true, will change position of (this) child prim only, not entire linkset - - - - Change the Scale (size) of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change scale of this prim only, not entire linkset - True to resize prims uniformly - - - - Change the Rotation of an object that is either a child or a whole linkset - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change rotation of this prim only, not entire linkset - - - - Send a Multiple Object Update packet to change the size, scale or rotation of a primitive - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation, size, or position of the target object - The flags from the Enum - - - - Deed an object (prim) to a group, Object must be shared with group which - can be accomplished with SetPermissions() - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The of the group to deed the object to - - - - Deed multiple objects (prims) to a group, Objects must be shared with group which - can be accomplished with SetPermissions() - - A reference to the object where the object resides - An array which contains the IDs of the objects to deed - The of the group to deed the object to - - - - Set the permissions on multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the permissions on - The new Who mask to set - The new Permissions mark to set - TODO: What does this do? - - - - Request additional properties for an object - - A reference to the object where the object resides - - - - - Request additional properties for an object - - A reference to the object where the object resides - Absolute UUID of the object - Whether to require server acknowledgement of this request - - - - Set the ownership of a list of objects to the specified group - - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the group id on - The Groups ID - - - - Update current URL of the previously set prim media - - UUID of the prim - Set current URL to this - Prim face number - Simulator in which prim is located - - - - Set object media - - UUID of the prim - Array the length of prims number of faces. Null on face indexes where there is - no media, on faces which contain the media - Simulatior in which prim is located - - - - Retrieve information about object media - - UUID of the primitive - Simulator where prim is located - Call this callback when done - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - A terse object update, used when a transformation matrix or - velocity/acceleration for an object changes but nothing else - (scale/position/rotation/acceleration/velocity) - - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - Setup construction data for a basic primitive shape - - Primitive shape to construct - Construction data that can be plugged into a - - - - - - - - - - - - - - - - - - - - Set the Shape data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - Data describing the prim shape - - - - Set the Material data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new material of the object - - - - - - - - - - - - - - - - - - - - - Raised when the simulator sends us data containing - A , Foliage or Attachment - - - - - Raised when the simulator sends us data containing - additional information - - - - - Raised when the simulator sends us data containing - Primitive.ObjectProperties for an object we are currently tracking - - - Raised when the simulator sends us data containing - additional and details - - - - Raised when the simulator sends us data containing - updated information for an - - - Raised when the simulator sends us data containing - and movement changes - - - Raised when the simulator sends us data containing - updates to an Objects DataBlock - - - Raised when the simulator informs us an - or is no longer within view - - - Raised when the simulator sends us data containing - updated sit information for our - - - Raised when the simulator sends us data containing - purchase price information for a - - - - Callback for getting object media data via CAP - - Indicates if the operation was succesfull - Object media version string - Array indexed on prim face of media entry data - - - Provides data for the event - The event occurs when the simulator sends - an containing a Primitive, Foliage or Attachment data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or - if an Avatar crosses the border into a new simulator and returns to the current simulator - - - The following code example uses the , , and - properties to display new Primitives and Attachments on the window. - - // Subscribe to the event that gives us prim and foliage information - Client.Objects.ObjectUpdate += Objects_ObjectUpdate; - - - private void Objects_ObjectUpdate(object sender, PrimEventArgs e) + 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("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); + Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", + asset.AssetID, + asset.AssetData.Length); } + } - - - - - - - - Construct a new instance of the PrimEventArgs class - - The simulator the object originated from - The Primitive - The simulator time dilation - The prim was not in the dictionary before this update - true if the primitive represents an attachment to an agent - - - Get the simulator the originated from - - - Get the details - - - true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) - - - true if the is attached to an - - - Get the simulator Time Dilation - - - Provides data for the event - The event occurs when the simulator sends - an containing Avatar data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator - - - The following code example uses the property to make a request for the top picks - using the method in the class to display the names - of our own agents picks listings on the window. + Request an image and use an inline anonymous method to handle the downloaded texture data - // 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) + 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) { - // 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); - } - } + ManagedImage imgData; + Image bitmap; - 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) + if (state == TextureRequestState.Finished) { - Console.WriteLine(pickName); - } + OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); + picInsignia.Image = bitmap; + } } + } - - - + - Construct a new instance of the AvatarUpdateEventArgs class + 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 simulator the packet originated from - The data - The simulator time dilation - The avatar was not in the dictionary before this update + 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 - - Get the simulator the object originated from + + + 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 - - Get the data + + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request - - Get the simulator time dilation + + + Cancel a texture request + + The texture assets - - true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) + + + Requests download of a mesh asset + + UUID of the mesh asset + Callback when the request completes - - 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. - + + + Lets TexturePipeline class fire the progress event + + The texture ID currently being downloaded + the number of bytes transferred + the total number of bytes expected + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Raised when the simulator responds sends + + + Raised during upload completes + + + Raised during upload with progres update + + + Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files + + + Fired when a texture is in the process of being downloaded by the TexturePipeline class + + + + Callback used for various asset download requests + + Transfer information + Downloaded asset, null on fail + + + + Callback used upon competition of baked texture upload + + Asset UUID of the newly uploaded baked texture + + + + A callback that fires upon the completition of the RequestMesh call + + Was the download successfull + Resulting mesh or null on problems + + + Xfer data + + + Upload data + + + Filename used on the simulator + + + Filename used by the client + + + UUID of the image that is in progress + + + Number of bytes received so far + + + Image size in bytes + + + + Static pre-defined animations available to all agents + + + + Agent with afraid expression on face + + + Agent aiming a bazooka (right handed) + + + Agent aiming a bow (left handed) + + + Agent aiming a hand gun (right handed) + + + Agent aiming a rifle (right handed) + + + Agent with angry expression on face + + + Agent hunched over (away) + + + Agent doing a backflip + + + Agent laughing while holding belly + + + Agent blowing a kiss + + + Agent with bored expression on face + + + Agent bowing to audience + + + Agent brushing himself/herself off + + + Agent in busy mode + + + Agent clapping hands + + + Agent doing a curtsey bow + + + Agent crouching + + + Agent crouching while walking + + + Agent crying + + + Agent unanimated with arms out (e.g. setting appearance) + + + Agent re-animated after set appearance finished + + + Agent dancing + + + Agent dancing + + + Agent dancing + + + Agent dancing + + + Agent dancing + + + Agent dancing + + + Agent dancing + + + Agent dancing + + + Agent on ground unanimated + + + Agent boozing it up + + + Agent with embarassed expression on face + + + Agent with afraid expression on face + + + Agent with angry expression on face + + + Agent with bored expression on face + + + Agent crying + + + Agent showing disdain (dislike) for something + + + Agent with embarassed expression on face + + + Agent with frowning expression on face + + + Agent with kissy face + + + Agent expressing laughgter + + + Agent with open mouth + + + Agent with repulsed expression on face + + + Agent expressing sadness + + + Agent shrugging shoulders + + + Agent with a smile + + + Agent expressing surprise + + + Agent sticking tongue out + + + Agent with big toothy smile + + + Agent winking + + + Agent expressing worry + + + Agent falling down + + + Agent walking (feminine version) + + + Agent wagging finger (disapproval) + + + I'm not sure I want to know + + + Agent in superman position + + + Agent in superman position + + + Agent greeting another + + + Agent holding bazooka (right handed) + + + Agent holding a bow (left handed) + + + Agent holding a handgun (right handed) + + + Agent holding a rifle (right handed) + + + Agent throwing an object (right handed) + + + Agent in static hover + + + Agent hovering downward + + + Agent hovering upward + + + Agent being impatient + + + Agent jumping + + + Agent jumping with fervor + + + Agent point to lips then rear end + + + Agent landing from jump, finished flight, etc + + + Agent laughing + + + Agent landing from jump, finished flight, etc + + + Agent sitting on a motorcycle + + + + + + Agent moving head side to side + + + Agent moving head side to side with unhappy expression + + + Agent taunting another + + + + + + Agent giving peace sign + + + Agent pointing at self + + + Agent pointing at another + + + Agent preparing for jump (bending knees) + + + Agent punching with left hand + + + Agent punching with right hand + + + Agent acting repulsed + + + Agent trying to be Chuck Norris + + + Rocks, Paper, Scissors 1, 2, 3 + + + Agent with hand flat over other hand + + + Agent with fist over other hand + + + Agent with two fingers spread over other hand + + + Agent running + + + Agent appearing sad + + + Agent saluting + + + Agent shooting bow (left handed) + + + Agent cupping mouth as if shouting + + + Agent shrugging shoulders + + + Agent in sit position + + + Agent in sit position (feminine) + + + Agent in sit position (generic) + + + Agent sitting on ground + + + Agent sitting on ground + + + + + + Agent sleeping on side + + + Agent smoking + + + Agent inhaling smoke + + + + + + Agent taking a picture + + + Agent standing + + + Agent standing up + + + Agent standing + + + Agent standing + + + Agent standing + + + Agent standing + + + Agent stretching + + + Agent in stride (fast walk) + + + Agent surfing + + + Agent acting surprised + + + Agent striking with a sword + + + Agent talking (lips moving) + + + Agent throwing a tantrum + + + Agent throwing an object (right handed) + + + Agent trying on a shirt + + + Agent turning to the left + + + Agent turning to the right + + + Agent typing + + + Agent walking + + + Agent whispering + + + Agent whispering with fingers in mouth + + + Agent winking + + + Agent winking + + + Agent worried + + + Agent nodding yes + + + Agent nodding yes with happy face + + + Agent floating with legs and arms crossed + + + + A dictionary containing all pre-defined animations + + A dictionary containing the pre-defined animations, + where the key is the animations ID, and the value is a string + containing a name to identify the purpose of the animation + + + + Level of Detail mesh + + + + + A linkset asset, containing a parent primitive and zero or more children + + + + Initializes a new instance of an AssetPrim object + + + + Initializes a new instance of an AssetPrim object + + A unique specific to this asset + A byte array containing the raw asset data + + + + + + + + + + + + + + Override the base classes AssetType + + + + Only used internally for XML serialization/deserialization + + + + + The deserialized form of a single primitive in a linkset asset + + + + + + + + + The event subscribers, null of no subscribers + + + Raises the AttachedSound Event + A AttachedSoundEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AttachedSoundGainChange Event + A AttachedSoundGainChangeEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the SoundTrigger Event + A SoundTriggerEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the PreloadSound Event + A PreloadSoundEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + + Construct a new instance of the SoundManager class, used for playing and receiving + sound assets + + A reference to the current GridClient instance + + + + Plays a sound in the current region at full volume from avatar position + + UUID of the sound to be played + + + + Plays a sound in the current region at full volume + + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + + + + Plays a sound in the current region + + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 + + + + Plays a sound in the specified sim + + UUID of the sound to be played. + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 + + + + Play a sound asset + + UUID of the sound to be played. + handle id for the sim to be played in. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + 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 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) + 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) { - Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); - } + // ... Process AttachedSoundEventArgs here ... + } - + - Construct a new instance of the ObjectPropertiesEventArgs class + Construct a new instance of the SoundTriggerEventArgs class - The simulator the object is located - The primitive Properties + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The volume level + The - - Get the simulator the object is located + + Simulator where the event originated - - Get the primitive properties + + Get the sound asset id - - Provides additional primitive data for the event - The event occurs when the simulator sends - an containing additional details for a Primitive or Foliage data that is currently - being tracked in the dictionary - The event is also raised when a request is - made and is enabled - + + Get the ID of the owner - + + Get the ID of the Object + + + Get the volume level + + + Get the + + + Provides data for the event + The event occurs when an attached sound + changes its volume level + + - Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class - - The simulator the object is located - The Primitive - The primitive Properties + Construct a new instance of the AttachedSoundGainChangedEventArgs class + + Simulator where the event originated + The ID of the Object + The new volume level - - Get the simulator the object is located + + Simulator where the event originated - - Get the primitive details + + Get the ID of the Object - - Get the primitive properties + + Get the volume level - - Provides additional primitive data, permissions and sale info for the event - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment. This includes - Permissions, Sale info, and other basic details on an object - The event is also raised when a request is - made, the viewer equivalent is hovering the mouse cursor over an object - - - - Get the simulator the object is located - - - - - - - - - Provides primitive data containing updated location, velocity, rotation, textures for the event - The event occurs when the simulator sends updated location, velocity, rotation, etc - - - - Get the simulator the object is located - - - Get the primitive details - - - - - - - - - + + 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); + } + + - - Get the simulator the object is located - - - Get the primitive details - - - - - - - - - - - - - - - Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the - event - - - Get the simulator the object is located - - - The LocalID of the object - - + - Provides updates sit position data + 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 - - Get the simulator the object is located + + Simulator where the event originated - - + + Get the sound asset id - - + + Get the ID of the owner - - + + Get the ID of the Object - - + + Get the ID of the objects parent + + + Get the volume level + + + Get the regionhandle + + + Get the source position + + + Provides data for the event + The event occurs when the simulator sends + the appearance data for an avatar + + The following code example uses the and + properties to display the selected shape of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } + + + + + + Construct a new instance of the PreloadSoundEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + + + Simulator where the event originated + + + Get the sound asset id + + + Get the ID of the owner + + + Get the ID of the Object + + + + A Name Value pair with additional settings, used in the protocol + primarily to transmit avatar names and active group in object packets - - Get the simulator the object is located - - + - + - + - - - Indicates if the operation was successful - + + - - - Media version string - + + - + - Array of media entries indexed by face number + Constructor that takes all the fields as parameters + + + + + - + - - - - - - + Constructor that takes a single line from a NameValue field - - - De-serialization constructor for the InventoryNode Class - + + Type of the value - - - Serialization handler for the InventoryNode Class - + + Unknown - - - De-serialization handler for the InventoryNode Class - + + String value - + + + + + + + + + + + + + + Deprecated + + + String value, but designated as an asset + + + + + - - + - + - + - + - - - For inventory folder nodes specifies weather the folder needs to be - refreshed from the server - - - - - 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 - - - = - - - Number of times we've received an unknown CAPS exception in series. - - - For exponential backoff on error. - - - X position of this patch - - - Y position of this patch - - - A 16x16 array of floats holding decompressed layer data - - - - Creates a LayerData packet for compressed land data given a full - simulator heightmap and an array of indices of patches to compress - - A 256 * 256 array of floating point values - specifying the height at each meter in the simulator - Array of indexes in the 16x16 grid of patches - for this simulator. For example if 1 and 17 are specified, patches - x=1,y=0 and x=1,y=1 are sent - - - - - Add a patch of terrain to a BitPacker - - BitPacker to write the patch to - Heightmap of the simulator, must be a 256 * - 256 float array - X offset of the patch to create, valid values are - from 0 to 15 - Y offset of the patch to create, valid values are - from 0 to 15 - - - - Checks the instance back into the object pool - - - - - Returns an instance of the class that has been checked out of the Object Pool. - + + Describes tasks returned in LandStatReply @@ -24012,1057 +24550,519 @@ - + - Extract the avatar UUID encoded in a SIP URI - - - - - - - Permissions for control of object media + Holds group information for Avatars such as those you might find in a profile - + + true of Avatar accepts group notices + + + Groups Key + + + Texture Key for groups insignia + + + Name of the group + + + Powers avatar has in the group + + + Avatars Currently selected title + + + true of Avatar has chosen to list this in their profile + + - Style of cotrols that shold be displayed to the user + Contains an animation currently being played by an agent - - - Class representing media data for a single face - + + The ID of the animation asset - - Is display of the alternative image enabled + + 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 - - Should media auto loop - - - Shoule media be auto played - - - Auto scale media to prim face - - - Should viewer automatically zoom in on the face when clicked - - - Should viewer interpret first click as interaction with the media - or when false should the first click be treated as zoom in commadn - - - Style of controls viewer should display when - viewer media on this face - - - Starting URL for the media - - - Currently navigated URL - - - Media height in pixes - - - Media width in pixels - - - Who can controls the media - - - Who can interact with the media - - - Is URL whitelist enabled - - - Array of URLs that are whitelisted - - - - Serialize to OSD - - OSDMap with the serialized data - - - - Deserialize from OSD data - - Serialized OSD data - Deserialized object - - - - 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 - - - - - TODO: Decode LSO Bytecode into a string - - true - - - Override the base classes AssetType - - - - Simulator (region) properties - - - - No flags set - - - Agents can take damage and be killed - - - Landmarks can be created here - - - Home position can be set in this sim - - - Home position is reset when an agent teleports away - - - Sun does not move - - - No object, land, etc. taxes - - - Disable heightmap alterations (agents can still plant - foliage) - - - Land cannot be released, sold, or purchased - - - All content is wiped nightly - - - Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) - - - Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. - - - Region does not update agent prim interest lists. Internal debugging option. - - - No collision detection for non-agent objects - - - No scripts are ran - - - All physics processing is turned off - - - Region can be seen from other regions on world map. (Legacy world map option?) - - - Region can be seen from mainland on world map. (Legacy world map option?) - - - Agents not explicitly on the access list can visit the region. - - - Traffic calculations are not run across entire region, overrides parcel settings. - - - Flight is disabled (not currently enforced by the sim) - - - Allow direct (p2p) teleporting - - - Estate owner has temporarily disabled scripting - - - Restricts the usage of the LSL llPushObject function, applies to whole region. - - - Deny agents with no payment info on file - - - Deny agents with payment info on file - - - Deny agents who have made a monetary transaction - - - Parcels within the region may be joined or divided by anyone, not just estate owners/managers. - - - Abuse reports sent from within this region are sent to the estate owner defined email. - - - Region is Voice Enabled - - - Removes the ability from parcel owners to set their parcels to show in search. - - - Deny agents who have not been age verified from entering the region. - - - - Access level for a simulator - - - - Unknown or invalid access level - - - Trial accounts allowed - - - PG rating - - - Mature rating - - - Adult rating - - - Simulator is offline - - - Simulator does not exist - - - - - - - - A public reference to the client that this Simulator object - is attached to - - - A Unique Cache identifier for this simulator - - - The capabilities for this simulator - - + - - The current version of software this simulator is running - - - - - - A 64x64 grid of parcel coloring values. The values stored - in this array are of the type - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true if your agent has Estate Manager rights on this region - - - - - - - - - - - - Statistics information for this simulator and the - connection to the simulator, calculated by the simulator itself - and the library - - - The regions Unique ID - - - The physical data center the simulator is located - Known values are: - - Dallas - Chandler - SF - - - - - The CPU Class of the simulator - Most full mainland/estate sims appear to be 5, - Homesteads and Openspace appear to be 501 - - - The number of regions sharing the same CPU as this one - "Full Sims" appear to be 1, Homesteads appear to be 4 - - - The billing product name - Known values are: - - Mainland / Full Region (Sku: 023) - Estate / Full Region (Sku: 024) - Estate / Openspace (Sku: 027) - Estate / Homestead (Sku: 029) - Mainland / Homestead (Sku: 129) (Linden Owned) - Mainland / Linden Homes (Sku: 131) - - - - - The billing product SKU - Known values are: - - 023 Mainland / Full Region - 024 Estate / Full Region - 027 Estate / Openspace - 029 Estate / Homestead - 129 Mainland / Homestead (Linden Owned) - 131 Linden Homes / Full Region - - - - - The current sequence number for packets sent to this - simulator. Must be Interlocked before modifying. Only - useful for applications manipulating sequence numbers - - + - A thread-safe dictionary containing avatars in a simulator + Holds group information on an individual profile pick - + - A thread-safe dictionary containing primitives in a simulator + Retrieve friend status notifications, and retrieve avatar names and + profiles - - - Provides access to an internal thread-safe dictionary containing parcel - information found in this simulator - - - - - Checks simulator parcel map to make sure it has downloaded all data successfully - - true if map is full (contains no 0's) - - - Used internally to track sim disconnections - - - Event that is triggered when the simulator successfully - establishes a connection - - - Whether this sim is currently connected or not. Hooked up - to the property Connected - - - Coarse locations of avatars in this simulator - - - AvatarPositions key representing TrackAgent target - - - Sequence numbers of packets we've received - (for duplicate checking) - - - Packets we sent out that need ACKs from the simulator - - - Sequence number for pause/resume - - - Indicates if UDP connection to the sim is fully established - - - - - - Reference to the GridClient object - IPEndPoint of the simulator - handle of the simulator - - - - Called when this Simulator object is being destroyed - - - - - Attempt to connect to this simulator - - Whether to move our agent in to this sim or not - True if the connection succeeded or connection status is - unknown, false if there was a failure - - - - Initiates connection to the simulator - - - - - Disconnect from this simulator - - - - - Instructs the simulator to stop sending update (and possibly other) packets - - - - - Instructs the simulator to resume sending update packets (unpause) - - - - - Retrieve the terrain height at a given coordinate - - Sim X coordinate, valid range is from 0 to 255 - Sim Y coordinate, valid range is from 0 to 255 - The terrain height at the given point if the - lookup was successful, otherwise 0.0f - True if the lookup was successful, otherwise false - - - - Sends a packet - - Packet to be sent - - - - - - - - - Returns Simulator Name as a String - - - - - - - - - - - - - - - - - - - Sends out pending acknowledgements - - Number of ACKs sent - - - - Resend unacknowledged packets - - - - - Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. - - - - The IP address and port of the server - - - Whether there is a working connection to the simulator or - not - - - Coarse locations of avatars in this simulator - - - AvatarPositions key representing TrackAgent target - - - Indicates if UDP connection to the sim is fully established - - - - Simulator Statistics - - - - Total number of packets sent by this simulator to this agent - - - Total number of packets received by this simulator to this agent - - - Total number of bytes sent by this simulator to this agent - - - Total number of bytes received by this simulator to this agent - - - Time in seconds agent has been connected to simulator - - - Total number of packets that have been resent - - - Total number of resent packets recieved - - - Total number of pings sent to this simulator by this agent - - - Total number of ping replies sent to this agent by this simulator - - - - Incoming bytes per second - - It would be nice to have this claculated on the fly, but - this is far, far easier - - - - Outgoing bytes per second - - It would be nice to have this claculated on the fly, but - this is far, far easier - - - Time last ping was sent - - - ID of last Ping sent - - - - - - - - - Current time dilation of this simulator - - - Current Frames per second of simulator - - - Current Physics frames per second of simulator - - - - - - - - - - - - - - - - - - - - - - - - - - - Total number of objects Simulator is simulating - - - Total number of Active (Scripted) objects running - - - Number of agents currently in this simulator - - - Number of agents in neighbor simulators - - - Number of Active scripts running in this simulator - - - - - - - - - - - - Number of downloads pending - - - Number of uploads pending - - - - - - - - - Number of local uploads pending - - - Unacknowledged bytes in queue - - - - Exception class to identify inventory exceptions - - - - - Responsible for maintaining inventory structure. Inventory constructs nodes - and manages node children as is necessary to maintain a coherant hirarchy. - Other classes should not manipulate or create InventoryNodes explicitly. When - A node's parent changes (when a folder is moved, for example) simply pass - Inventory the updated InventoryFolder and it will make the appropriate changes - to its internal representation. - - - + The event subscribers, null of no subscribers - - Raises the InventoryObjectUpdated Event - A InventoryObjectUpdatedEventArgs object containing + + 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 InventoryObjectRemoved Event - A InventoryObjectRemovedEventArgs object containing + + 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 InventoryObjectAdded Event - A InventoryObjectAddedEventArgs object containing + + Raises the UUIDNameReply Event + A UUIDNameReplyEventArgs object containing the data sent from the simulator - + Thread sync lock object - - - Returns the contents of the specified folder - - A folder's UUID - The contents of the folder corresponding to folder - When folder does not exist in the inventory + + The event subscribers, null of no subscribers - - - 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 + + Raises the AvatarInterestsReply Event + A AvatarInterestsReplyEventArgs object containing + the data sent from the simulator - - - Removes the InventoryObject and all related node data from Inventory. - - The InventoryObject to remove. + + Thread sync lock object - - - Used to find out if Inventory contains the InventoryObject - specified by uuid. - - The UUID to check. - true if inventory contains uuid, false otherwise + + The event subscribers, null of no subscribers - - - Saves the current inventory structure to a cache file - - Name of the cache file to save to + + Raises the AvatarPropertiesReply Event + A AvatarPropertiesReplyEventArgs object containing + the data sent from the simulator - - - 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 + + Thread sync lock object - + + The event subscribers, null of no subscribers + + + Raises the AvatarGroupsReply Event + A AvatarGroupsReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AvatarPickerReply Event + A AvatarPickerReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the ViewerEffectPointAt Event + A ViewerEffectPointAtEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the ViewerEffectLookAt Event + A ViewerEffectLookAtEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the ViewerEffect Event + A ViewerEffectEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AvatarPicksReply Event + A AvatarPicksReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the PickInfoReply Event + A PickInfoReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AvatarClassifiedReply Event + A AvatarClassifiedReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the ClassifiedInfoReply Event + A ClassifiedInfoReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + + Represents other avatars + + + + + Tracks the specified avatar on your map + Avatar ID to track + + + + Request a single avatar name + + The avatar key to retrieve a name for + + + + Request a list of avatar names + + The avatar keys to retrieve names for + + + + Start a request for Avatar Properties + + + + + + Search for an avatar (first name, last name) + + The name to search for + An ID to associate with this query + + + + Start a request for Avatar Picks + + UUID of the avatar + + + + Start a request for Avatar Classifieds + + UUID of the avatar + + + + Start a request for details of a specific profile pick + + UUID of the avatar + UUID of the profile pick + + + + Start a request for details of a specific profile classified + + UUID of the avatar + UUID of the profile classified + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + Crossed region handler for message that comes across the EventQueue. Sent to an agent + when the agent crosses a sim border into a new region. + + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + Raised when the simulator sends us data containing - ... + an agents animation playlist - + Raised when the simulator sends us data containing - ... + the appearance information for an agent - + Raised when the simulator sends us data containing - ... + agent names/id values - - - The root folder of this avatars inventory - + + Raised when the simulator sends us data containing + the interests listed in an agents profile - - - The default shared library folder - + + Raised when the simulator sends us data containing + profile property information for an agent - - - The root node of the avatars inventory - + + Raised when the simulator sends us data containing + the group membership an agent is a member of - - - The root node of the default shared library - + + Raised when the simulator sends us data containing + name/id pair - - - 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. + + Raised when the simulator sends us data containing + the objects and effect when an agent is pointing at - - - The InternalDictionary class is used through the library for storing key/value pairs. - It is intended to be a replacement for the generic Dictionary class and should - be used in its place. It contains several methods for allowing access to the data from - outside the library that are read only and thread safe. - - - Key - Value + + Raised when the simulator sends us data containing + the objects and effect when an agent is looking at - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking - on this member + + Raised when the simulator sends us data containing + an agents viewer effect information - - - 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>(); - - + + Raised when the simulator sends us data containing + the top picks from an agents profile - - - Initializes a new instance of the Class - with the specified key/value, has its initial valies copied from the specified - - - - to copy initial values from - - - // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. - // populates with copied values from example KeyNameCache Dictionary. - - // create source dictionary - Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); - KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); - KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); - - // Initialize new dictionary. - public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); - - + + Raised when the simulator sends us data containing + the Pick details - - - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. - - Initial size of dictionary - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); - - + + Raised when the simulator sends us data containing + the classified ads an agent has placed - - - 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); - - - + + Raised when the simulator sends us data containing + the details of a classified ad - - - Finds the specified match. - - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - - - - Find All items in an - return matching items. - a containing found items. + + Provides data for the event + The event occurs when the simulator sends + the animation playlist for an agent - Find All prims within 20 meters and store them in a List + The following code example uses the and + properties to display the animation playlist of an avatar on the window. - 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) + // subscribe to the event + Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; + + private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) { - if (prim.Text != null) + // 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) { - Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", - prim.PropertiesFamily.Name, prim.ID, prim.Text); + systemAnimations.Add((UUID)field.GetValue(type), field.Name); } - }); + + // find out which animations being played are known animations and which are assets + foreach (Animation animation in e.Animations) + { + if (systemAnimations.ContainsKey(animation.AnimationID)) + { + Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, + systemAnimations[animation.AnimationID], animation.AnimationSequence); + } + else + { + Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, + animation.AnimationID, animation.AnimationSequence); + } + } + } + + + + + + Construct a new instance of the AvatarAnimationEventArgs class + + The ID of the agent + The list of animations to start + + + Get the ID of the agent + + + Get the list of animations to start + + + Provides data for the event + The event occurs when the simulator sends + the appearance data for an avatar + + The following code example uses the and + properties to display the selected shape of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } - - Perform an on each key of an - to perform - - + - Perform an on each KeyValuePair of an + Construct a new instance of the AvatarAppearanceEventArgs class - to perform + 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 - - Check if Key exists in Dictionary - Key to check for - if found, otherwise + + Get the Simulator this request is from of the agent - - Check if Value exists in Dictionary - Value to check for - if found, otherwise + + Get the ID of the agent - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - - The key - The value + + true if the agent is a trial account - - - Removes the specified key, dictionary locking is not performed - - The key. - if successful, otherwise + + Get the default agent texture - - - Gets the number of Key/Value pairs contained in the - + + Get the agents appearance layer textures - - - Indexer for the dictionary - - The key - The value + + Get the for the agent + + + Represents the interests from the profile of an agent + + + Get the ID of the agent + + + The properties of an agent + + + Get the ID of the agent + + + Get the ID of the agent + + + Get the ID of the agent + + + Get the ID of the avatar diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index f5952b45a2f90e25dcccfdf7000965065f3a0a35..69c4e9b9dff447e4e86c42c36594252ed1d5b97a 100644 GIT binary patch literal 1716224 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 z zy2H_0d^L#q`bLype2wY4PX|j^!{#;4?`3fie3E^1trltd>~! z0ca=d_mGNM_L|P=5x|ub0=zi__|b#_=f=pbkJ%MzcUPnZU}vNSU}DlAiIMwq%&thU z+ZAa6*coX7n3(k4F>=qu?25FvE7Ah6GtvSuG3jUl+5F7r*4L#LoxVF-tzc#4PPh{F3W-A$~r<&Pe|+#V@&T7vkpw?2PpPQv8zZ zb|HQ~z|KhjFU2ppZWrR`1MH0SB*pJ1p~ztu!gjjd&`#WC8*wXIjd&YjIu>Tou*YNE z_6XhK%vxN_W5$^CMO=mAjEXE*Vfr*!sR!vckM3B&bQOXtITn^>Pg5qVDJ`*yL;G2r_Su`Z(ZowN?zw^`G?chRc0 z85-XE=xCls((A?gbU(01Xoa4w?H-=9j0>7Wn!Jv;i0c%3YC1#LdHrqRM{6uYM;VrYptxWyazD# zZr!D6pN{m`vGOMl+)S3$^)d5Nbbh0CACF-Q!dV9@_ESi`a#!rX(C!z|dqX%`DAHYK zvAZCL*kk6c#Q6_E+gB#A@G|IftquNn(LaH#SG!QcMQA{9g%1#S5+WZ$giFYP;2bX? zenyCuU|!(}7ySXjg&IKIO^7KWj&M;K5L}x9#2tj_4k5xNVL-?zY0UfyAD*il5C<68-6ubKX#(d6~mSbTlrE_Vm%PK%5>M7l{z72HM z%Mf4A4B=i8e>+Iz zk+0>P_JkjrPdgUu>m5LDxE{PJl&qBsFL!j*2X+BfH6u=77uFV&M95kp?K0`4714KjPCYgPojnG%zaVW2VXjQ?RgYKZ#J}qs}p| zw1ElxkJJ!R`y|TAIu6>u-iA3umaSTi-gi9E1R4ygF&FPf-h#HOnQ&i)Pr}up920Jve0BL6_}ULcM5~VTIPe?R_Yli@ z7FOM5C&*d>^@+3@+JV6T9pK0M_xc-HFgKDd9WhInX=}0_nsp>Vb7sn_u)J3yG;8+P z`Wv9a@g$v35%>`S zCeJvG5x^#q(xBq7{#5+@(cR17^0xM(s+iupVb@)Ded}0LrD=BAO{B-^O)^UeD@jul zz%-DKhCb(akv9qV5dh>;y~__m3qoJ*H2kV4lZO!C)AU`!4TNMoedq9rNGWbcJ`Qv( zj8%Q*;Fq^jB}!k|Yr*)CS>MNTfYEfB#u)Ru%YHf2Nz+d!_+cI_NI}i0%(xUzzZLBV zEjpFb>hfrZ7gd<`5CxHWaRE4#@)4zG*cX8b2w|W~`>dY=Qn6{+Z$}`Mu!G@dRKN7bqbRTB-ptEwB#2SF~Nn$j!2ju$}Feg{}GtE+UE zBaAw>3(-uteXJ=nQGu%~beF>wrb#S@J)Pd<;bElx04^ccaasy_u6AEZp8Epr{1D!L z-=!j1k+=wYr45_-A4iD&dseEl?z?8dWzWM$1|+7_WyV3o6@kb=1ruWXpz{;?N;6_Q zYg&C(t76@PqVQx?EJi=t5}UL;Z4oAI0dA7|q83 zggM7Viq(@@Ffi{T4Hq8bV_M4)m`j!C=A2H1`$+;WV_sV0*&6;ihayOI2IG|@VLy+^ z9-C0rWu)R(?W@w?y30&-E=Oz`GxldI*6)PlA3E3V0Od^bwlmoz%F~CjsS_u09sH>J|zK*efACO)N$_9#<^FF zbDtt^Al^vI$TI_N-BM;A{y>J_DvBGbQFkXa zbR4xGP_~`~LSGtHAHe&Nq)WbI=EI0Nt}~ED+ExFJFlM|rK-_6<7%jjLC0*Mgc^rKP zWDNbOEp|&!q%C~i0Cn)>qLy0CHbb8#HNbQhv2KgvIN5iw`iok@uDn@cXj%7Nk#<-I zJSpc;5Dzqu?}|V?l5z>iLZzwJXEuQb>V&ffk+*9YA!;J#5xnjaQKhURe-4?MPnYLb zoEs1wXXRwdY9&yHm6US|e?Zy%2>I8k88&ucnbtd@oIB9~awcOo0`d3k66;;?W%V>Y zncO15eudc!Qy|tT@YH@SGL0m+tha1`hUtD}d+Xfc zQ}Bte#hFe%v)#(uB6_t#9Sg4xbNrm6>0C+B)J_)MZUunz7(TJ}9NpnY$M{sGwC&;9 zt!PmZI-lDL{dK0_`m=6j?{?&%E<4q|J7{%Y0R`_)u};atdKax_?`{~?59!uz$ZS;O zpV2qr{hUV9;}n73p71zBP(5DnFByrX#jQs4`~^L43S({~Y{I*bM$)^VMtjoxrI@Do zE0{6hU(-9`JwPMr{YHQi-fzWBdJn>^J{MwUml41Z(@1)w0+jF`5i{vMDyHfEPRx|| zdzi7vkI_5fv1^UU>_n4yXdPh>LmZf<_k@@!@6Rw}Y+^ve$n0Mu@>2qo@SYYk={*Cp zDs2GA1pEtG{wqNe-m^54-rpob!h254r1y6*P49UzQ{D?=ro9(o##qOQi%9-SBkBE1 zfD+zIVkW(p#WcNF#7uerhFRSfa=@_2buvbaTwZV&SNV>E^g6mfi%t6CTG1 zh-3;7cCU+>^wKb^PDmj`?}V47k@Rv5jLIyp0t+gzod(Evh?(@Jh-rF7F;iYA%oyep zy%Sy+jifh~foOEgzFDDpp^EsB3_|fO4Md&iis_GGo7+Mu<-d= z=w_$wcfxA_4$+E<$}*n8$ZR@)_*WQQvQINzr!=Ea*b7b3EMwey$@@UwIX84(PUlxc z=lkh=DRf>z=YhE(?g!}H6gsb@^MTNL6`iy40q_PoSBK7xbbcdrZlY5w1i&Ap^YGAl zHJu*`otx<#4V@pN(`pamewa=tbbf@+TSMnHbebIj@JH!9HgtZB&Ml$yS~?#Kogb%j z&XgeT7CPS**=6gode=XIg;({w%=I;LiE|@=Io!bqkN3sFHqHn_6r|td-6Aa}64To>a=DHtq zMrF+06AUy*Q0Z{;g={~3IU?Xl%lqLNI2f~M3!2V9kqngwa$3Y%18~(3#6Du&0w5`y z6!uDf)EwfmwAtzUPo0lV-5#&%;mgUj;Jnk@w0Su1v=aHEX|R7zGhP;ZNt=J5_8#RA z`%jfW&jGRB`)RBk8zZ{KoHlGshiBKGY~nZw<~Yc=p>o2$0_pW`lUXLa0Z^Y$P44N? zv}xMReKkYTf_r9I1q)v2?Nm|Pkqk9zCAM2KQ{uK;{$B5D83kX;9%~3q+?FRfe zV1A^Wt<5UuYEyM(gy}6OzOtzmard)4s zqHjv9AEdQFYyZ;zrOm79WSQs*Yaa3#4e76lADvDbx=WWVoqAb94cv|_Yc2<*XVUEh z?16!WdlOVtb2AaLR^j??=|G z4*_?T?eE!Aawy08O5JS-My?#wwA&#dy4&G<(e%Bh_+B)9FXk8{(zHJe+`7yo)NwqN z%Yzl$#L^(v`ApvHqG5vo&+}1)lz`!Qp>+WGGC27s*~HyNWsVF4YJZNa$nvb|RSI9b}5~Qzt9?7@PA(IvOPLx2EYjI}20%p`9 z(Z)3A0=~fn1i5#B zwNs$xbxs(RW>Aq>OzSY@CFmN^{TKT(>I>CEWxAK@$WS>Y$Vrit%UG*v$(%^?FzZ7{ zJTtz{%-CHWP;9j8n4(T1y9BK2d=jWIAMcT%c>N^d&f!fCv0 z3KrD>rmVdvn%1ynD(B$d3g+)(*?p-XW%vG$Fn=f-s+6vPr|FIll2ZCW6tpfaJo8&w zW_^TO>&gfl_llUhy#)e+Y?QeY(!QItzolqj6+uU|Hwc08K|*_D6f^}no#zIM*oykvI%^0u$?xg4c619Ku0rHs(;D~bJ-Rg zb}uH=?mLk{gsw1_U3*fcn#7n#(@v7JzU+S<1bz2&&@; zQnJ=pG*v`gh43+OS4{MBaGt~vJy}fjEt71V+o8Mc;dGidPWxsXcR{}Pst54~WjLSQ zw$KN{d-k8JKPysjqt(#bbROh)StqN=2#&aif^>OfZmw_~aM_;# zqVoKiD#+dnm;Fh6a@aERDVRerKMfOI@{GFIteKfj?do3K0~IL^`k>n{JVM`X^JqmP zU4$wa(_2ToRQR&@ZpgZxmgX$p8<>GufjsM4hcg)eXciB@`n>Q-Xf|a~FIxx<)SzYdJ<9NZi=&jHp+?91K@~e&xzlvuHI{SI3 zfa*uFVD%Zqtn27()eVEg0tIEnpymLIIMe`@^$r^?wQZom^ZBfK_VqxbhDB?!!Kh8# zLZWe;ub@!wW#@CEDN;}>97y>ZB-QPFOZoT2QLF-k*B4WwRpQM%R=2%2 zrvj{%tO&rma!7iWbp?8NL#k}ob-~|yKRryP@Gqf`FZ!W945j=Bp==K7C;6b#930jv z|Ine+l}`*PeU1G&A`$Hw^T)K>eNh!Lr3n%3wBT5C?Y&7&$8v|NTp6hloUwxrqF2WK zWjDomi~B2>3Vk?TCt*N-Kal%%!lz2%9>LIE^WE=(o2P%NGjI{g=fS0N*k2H9qyWDL z1vs42trHJ3t%%&nU6RmPtf|rs@pESEhO8zm<`mAbes5dSHrTeHm(bS3N*F^Kz?dE@= z1oO=oW@=_3gH;xYNjhVH5uUZKiF{k4Hy&<2jfkB5jj6?AB5nUC5O|cmw0#4tIdlL- zS8~ijU49b!HTQ!bC8kPwFFp{SfhZ@&>-LS0ArN^^v9`YioMzenG7JbW_US>LJR}Wb zuAE=^cM2GKC>fWnsRy?R#J6`eP-(95Y zbuyM2DvqkkNPAMHUFnQX=Pya1|ARaZ?uQ*bP_>`BR&VQCs^lq$xt%#kHvfW}YP|_H z(;tzyL5?}}Rzq<+PqpVy^ZEU>vet!Zel=b+wEKVu+y0B?RoU{YoJz7wO`7-Z6kO;i z&Ux7Xg(8dRE2l(;F`poTHzE+BoB`P(pac>SlFUeH`zwNy{u!~GMo|=r!XF&rLs(SiTyN>F6F1Y`@+6pj_xvg z5RHD<*f#;y5aQAm#T8d}G#6f}T&|iy|Ei!hFH!vyEXr|p36op@&D>0QH`7RZUx$HY zXq1_GF!^VF1DFM1Ebb=rChMjfXu5UwWP z+7s;wH6ivh__546M$xso+I;_B=~;T0MR+>Fva3&6 z4z9u`qlzt;nEeL&He>E>U}AD8%@lWsN~%T*HFs7ABI_34&6WR zXW?btqfj40R$2kbw%i3hq@D0CC2u-ztUdoS4J$uto`Uu9H*vmmPIq4*hz7)RFSz{u zONu}2z$2fyiHk<_m-ysxCrhVp{|eSZDr5f|rs!bZr3lXdqtQsMe*m^xm-QPMB@_J# zmx5^hmd=EkDkho_(u%=7Wq~)0Yub>U`;lx@3j(;>>>)tK7X(zf6tqlPrH}3D7ZLZj zJ4%x;IwjSNbY-z%fN>HtHiaZeh8NQI!*G}9C(_wkK^6~G*t-6#BNJ~LeAoz z+l!%T+M|GLK7vmnQ%XdQ6>e2mX_&2D{K;T^r)wif!-Km>LvTrSC`+wNEWXUn(%R<* zdMyyncp&Ixs zS8M9RoNMHqtxWY_5g*N}_>((q#h!(sehC8?Amkci3HTlnd?%vEkTvURENmfv&*eAwKcVx_coXh2ZM=HEi;I1OZ6_bv!f-z9l zB__oIr&y5U2i^5*2rq8K2D<} z>5)is{S6#!-H1=U=sb#wgJ~g#tChGYGTu;7NwqeT4c3p3fj(~0fE-FjbZYhsAk`>4 z3L|Y}$7t5A7#lA1tZSt?%_`cr{-{RIK<2%ro$?{{auo=XPPf z<)5(TQ)wv#`(JRtZ$3C~{9!bY6A~#nhv9rERfq<|nV=tZsy5S8eIII&6E_C!Z9@Af zhTDG#`5z3s2ZsA66sgLX)!}-b)BeHGhFLqBT*HL2%Q4 z2@I<|Rg2o+#fYz7sx)6_s?rLJjr$VAXcVYULo##ZJILdVeFv~|lA%7+tj|!wC}M|u ze<_$^w-l=Yng{P#UYjy__WgWueHJ;4yz*bTFza($N+%^Tl$VN-v7b^g{O30^rhO*} z>!J&>n>!9XrG5n2cOU8ah@`M!`Yw1SwlZ72uAgm63DoyeW-N2n41CNxp1;9Fdpzm(zmaluaHxAF>7QWIJ$wQvk+C)@ z{ra3#jFw+%lvkWiH~|!n2q60w^JqV!RL3`i zA=L4N#>=<jW}uf7poDOB<1grr( zj&wKi*lQL821A`_N>44dKfDlOMvvr2Uh<<*>&>KXyxE#vi#<>}1~;f}cwaTkaYWk2 zGpO0Lox^wdfzfQbZl-_S7IndJlDP^)xil^*&r^2qm>W^m+MfcqY6*)EoH#jHeAu6!}){tJ4nm=|Nt#nU$8 z5Jg*QN^wfrIUNbPzBr{45PAZDaCggH?6C9{bL$vcgb40l=Nl?UUoqbjU|r2@<7Muc zF}LqQ`iiLlsWi(}t6?%1Vg@xzB6A~1-Ca@Y%3=m_sc&IWvB#4L`(II6DQRIsQRsN?HM{6lT*Zz`)G=1Z z^=|$XUzoecJFVFUmK?FnnXVZS8~BOH6l9+wW}FNlhET4^>#s&xMr`ZtCol@H-v9nfS3z68_ux zrD4I7PO37)P5)=`;aT1S>LqnQ|2SS?+wiAQzZ;_Z!7gPRX94jxf*+o!ACr($F;p8m z;`|m#=)n2TZ&)>}%7F1@&`bG>l}et>V#Io0>>AKa0em&mt&H z8&AT=1K6dPsqb{NcGx?2jQ&VVTx(vVc6`Z^Bd?@2zeW?xMGez znB}A1m$|!wcGQZ1ep1^FDhp2ppufsUr7 z*W7E}QUadO%0)gadvzLdRt%pNV|!LIF;=P*aWb=%a4rEWXqi@pZA}X=RimCZWLSG`eh;wf4@U_!qDU=ET z%0A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º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�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%0AMu`T=o*KB4-M+tR7Uol%=S2i8riz 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 z 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 ?lEGCi!|A6$`Y}(wTpEnO`AB$ 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 O&r9HW3H<+C0{<5k{3Txi literal 1716224 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

Yx=!Kq~j?yo@6~D(ydFR`h<5IN)sp< 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

Grd%7`lG1tkLAwcqYoKkz?5bmKDo2;FUEk*jmFx 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%0DHz56tsV2_6#6 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 z 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 z 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

!Vstb(bIHL#6i9c<@V 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 M;6V@k%jkjs15g1qJpcdz diff --git a/bin/OpenMetaverseTypes.XML b/bin/OpenMetaverseTypes.XML index c61d91a304..befc8d4ef4 100644 --- a/bin/OpenMetaverseTypes.XML +++ b/bin/OpenMetaverseTypes.XML @@ -4,6 +4,669 @@ OpenMetaverseTypes + +

+ A three-dimensional vector with doubleing-point values + +
+ + X value + + + Y value + + + Z value + + + + Constructor, builds a vector from a byte array + + Byte array containing three eight-byte doubles + Beginning position in the byte array + + + + Test if this vector is equal to another vector, within a given + tolerance range + + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false + + + + IComparable.CompareTo implementation + + + + + Test if this vector is composed of all finite numbers + + + + + Builds a vector from a byte array + + Byte array containing a 24 byte vector + Beginning position in the byte array + + + + Returns the raw bytes for this vector + + A 24 byte array containing X, Y, and Z + + + + Writes the raw bytes for this vector to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 24 bytes before the end of the array + + + + Parse a vector from a string + + A string representation of a 3D vector, enclosed + in arrow brackets and separated by commas + + + + Interpolates between two vectors using a cubic equation + + + + + Get a formatted string representation of the vector + + A string representation of the vector + + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector + + + + Cross product between two vectors + + + + A vector with a value of 0,0,0 + + + A vector with a value of 1,1,1 + + + A unit vector facing forward (X axis), value of 1,0,0 + + + A unit vector facing left (Y axis), value of 0,1,0 + + + A unit vector facing up (Z axis), value of 0,0,1 + + + + Attribute class that allows extra attributes to be attached to ENUMs + + + + Text used when presenting ENUM to user + + + Default initializer + + + Text used when presenting ENUM to user + + + + The different types of grid assets + + + + Unknown asset type + + + Texture asset, stores in JPEG2000 J2C stream format + + + Sound asset + + + Calling card for another avatar + + + Link to a location in world + + + Collection of textures and parameters that can be + worn by an avatar + + + Primitive that can contain textures, sounds, + scripts and more + + + Notecard asset + + + Holds a collection of inventory items + + + 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 + + + + + + + + + + + + + + + + + + + + + + Item Sale Status + + + + Not for sale + + + The original is for sale + + + Copies are for sale + + + The contents of the object are for sale + + + + Types of wearable assets + + + + Body shape + + + Skin textures and attributes + + + Hair + + + Eyes + + + Shirt + + + Pants + + + Shoes + + + Socks + + + Jacket + + + Gloves + + + Undershirt + + + Underpants + + + Skirt + + + Alpha mask to hide parts of the avatar + + + Tattoo + + + Invalid wearable asset + + + + A hierarchical token bucket for bandwidth throttling. See + http://en.wikipedia.org/wiki/Token_bucket for more information + + + + Parent bucket to this bucket, or null if this is a root + bucket + + + Size of the bucket in bytes. If zero, the bucket has + infinite capacity + + + Rate that the bucket fills, in bytes per millisecond. If + zero, the bucket always remains full + + + Number of tokens currently in the bucket + + + Time of the last drip, in system ticks + + + + Default constructor + + Parent bucket if this is a child bucket, or + null if this is a root bucket + Maximum size of the bucket in bytes, or + zero if this bucket has no maximum capacity + Rate that the bucket fills, in bytes per + second. If zero, the bucket always remains full + + + + Remove a given number of tokens from the bucket + + Number of tokens to remove from the bucket + True if the requested number of tokens were removed from + the bucket, otherwise false + + + + Remove a given number of tokens from the bucket + + Number of tokens to remove from the bucket + True if tokens were added to the bucket + during this call, otherwise false + True if the requested number of tokens were removed from + the bucket, otherwise false + + + + Add tokens to the bucket over time. The number of tokens added each + call depends on the length of time that has passed since the last + call to Drip + + True if tokens were added to the bucket, otherwise false + + + + The parent bucket of this bucket, or null if this bucket has no + parent. The parent bucket will limit the aggregate bandwidth of all + of its children buckets + + + + + Maximum burst rate in bytes per second. This is the maximum number + of tokens that can accumulate in the bucket at any one time + + + + + The speed limit of this bucket in bytes per second. This is the + number of tokens that are added to the bucket per second + + Tokens are added to the bucket any time + is called, at the granularity of + the system tick interval (typically around 15-22ms) + + + + The number of bytes that can be sent at this moment. This is the + current number of tokens in the bucket + If this bucket has a parent bucket that does not have + enough tokens for a request, will + return false regardless of the content of this bucket + + + + + A thread-safe lockless queue that supports multiple readers and + multiple writers + + + + Queue head + + + Queue tail + + + Queue item count + + + + Constructor + + + + + Enqueue an item + + Item to enqeue + + + + Try to dequeue an item + + Dequeued item if the dequeue was successful + True if an item was successfully deqeued, otherwise false + + + Gets the current number of items in the queue. Since this + is a lockless collection this value should be treated as a close + estimate + + + + Provides a node container for data in a singly linked list + + + + Pointer to the next node in list + + + The data contained by the node + + + + Constructor + + + + + Constructor + + + + + An 8-bit color structure including an alpha channel + + + + Red + + + Green + + + Blue + + + Alpha + + + + + + + + + + + + + Builds a color from a byte array + + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 + + + + Returns the raw bytes for this vector + + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 + True if the alpha value is inverted in + addition to whatever the inverted parameter is. Setting inverted true + and alphaInverted true will flip the alpha value back to non-inverted, + but keep the other color bytes inverted + A 16 byte array containing R, G, B, and A + + + + Copy constructor + + Color to copy + + + + IComparable.CompareTo implementation + + Sorting ends up like this: |--Grayscale--||--Color--|. + Alpha is only used when the colors are otherwise equivalent + + + + Builds a color from a byte array + + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 + True if the alpha value is inverted in + addition to whatever the inverted parameter is. Setting inverted true + and alphaInverted true will flip the alpha value back to non-inverted, + but keep the other color bytes inverted + + + + Writes the raw bytes for this color to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array + + + + Serializes this color into four bytes in a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 4 bytes before the end of the array + True to invert the output (1.0 becomes 0 + instead of 255) + + + + Writes the raw bytes for this color to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array + + + + Ensures that values are in range 0-1 + + + + + Create an RGB color from a hue, saturation, value combination + + Hue + Saturation + Value + An fully opaque RGB color (alpha is 1.0) + + + + Performs linear interpolation between two colors + + Color to start at + Color to end at + Amount to interpolate + The interpolated color + + + A Color4 with zero RGB values and fully opaque (alpha 1.0) + + + A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) + + + + Determines the appropriate events to set, leaves the locks, and sets the events. + + + + + A routine for lazily creating a event outside the lock (so if errors + happen they are outside the lock and that we don't do much work + while holding a spin lock). If all goes well, reenter the lock and + set 'waitEvent' + + + + + Waits on 'waitEvent' with a timeout of 'millisceondsTimeout. + Before the wait 'numWaiters' is incremented and is restored before leaving this routine. + + + + + Copy constructor + + Circular queue to copy + A 128-bit Universally Unique Identifier, used throughout the Second @@ -186,494 +849,151 @@ A cache of UUID.Zero as a string to optimize a common path - - - 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 - - - - An 8-bit color structure including an alpha channel - - - - Red - - - Green - - - Blue - - - Alpha - - - - - - - - - - - - - Builds a color from a byte array - - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - - - - Returns the raw bytes for this vector - - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - True if the alpha value is inverted in - addition to whatever the inverted parameter is. Setting inverted true - and alphaInverted true will flip the alpha value back to non-inverted, - but keep the other color bytes inverted - A 16 byte array containing R, G, B, and A - - - - Copy constructor - - Color to copy - - - - IComparable.CompareTo implementation - - Sorting ends up like this: |--Grayscale--||--Color--|. - Alpha is only used when the colors are otherwise equivalent - - - - Builds a color from a byte array - - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - True if the alpha value is inverted in - addition to whatever the inverted parameter is. Setting inverted true - and alphaInverted true will flip the alpha value back to non-inverted, - but keep the other color bytes inverted - - - - Writes the raw bytes for this color to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - - - - Serializes this color into four bytes in a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 4 bytes before the end of the array - True to invert the output (1.0 becomes 0 - instead of 255) - - - - Writes the raw bytes for this color to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - - - - Ensures that values are in range 0-1 - - - - - Create an RGB color from a hue, saturation, value combination - - Hue - Saturation - Value - An fully opaque RGB color (alpha is 1.0) - - - - Performs linear interpolation between two colors - - Color to start at - Color to end at - Amount to interpolate - The interpolated color - - - A Color4 with zero RGB values and fully opaque (alpha 1.0) - - - A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) - - - - Copy constructor - - Circular queue to copy - - - X value - - - Y value - - - Z value - - - W value - - - - Constructor, builds a vector from a byte array - - Byte array containing four four-byte floats - Beginning position in the byte array - - - - Test if this vector is equal to another vector, within a given - tolerance range - - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false - - - - IComparable.CompareTo implementation - - - - - Test if this vector is composed of all finite numbers - - - - - Builds a vector from a byte array - - Byte array containing a 16 byte vector - Beginning position in the byte array - - - - Returns the raw bytes for this vector - - A 16 byte array containing X, Y, Z, and W - - - - Writes the raw bytes for this vector to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - - - - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only - - Raw string representation of the vector - - - A vector with a value of 0,0,0,0 - - - A vector with a value of 1,1,1,1 - - - A vector with a value of 1,0,0,0 - - - A vector with a value of 0,1,0,0 - - - A vector with a value of 0,0,1,0 - - - A vector with a value of 0,0,0,1 - - - - A three-dimensional vector with doubleing-point values - - - - X value - - - Y value - - - Z value - - - - Constructor, builds a vector from a byte array - - Byte array containing three eight-byte doubles - Beginning position in the byte array - - - - Test if this vector is equal to another vector, within a given - tolerance range - - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false - - - - IComparable.CompareTo implementation - - - - - Test if this vector is composed of all finite numbers - - - - - Builds a vector from a byte array - - Byte array containing a 24 byte vector - Beginning position in the byte array - - - - Returns the raw bytes for this vector - - A 24 byte array containing X, Y, and Z - - - - Writes the raw bytes for this vector to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 24 bytes before the end of the array - - - - Parse a vector from a string - - A string representation of a 3D vector, enclosed - in arrow brackets and separated by commas - - - - Interpolates between two vectors using a cubic equation - - - - - Get a formatted string representation of the vector - - A string representation of the vector - - - - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only - - Raw string representation of the vector - - - - Cross product between two vectors - - - - 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 - - - - X value - - - Y value - - - Z value - - - - Constructor, builds a vector from a byte array - - Byte array containing three four-byte floats - Beginning position in the byte array - - - - Test if this vector is equal to another vector, within a given - tolerance range - - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false - - - - IComparable.CompareTo implementation - - - - - Test if this vector is composed of all finite numbers - - - - - Builds a vector from a byte array - - Byte array containing a 12 byte vector - Beginning position in the byte array - - - - Returns the raw bytes for this vector - - A 12 byte array containing X, Y, and Z - - - - Writes the raw bytes for this vector to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 12 bytes before the end of the array - - - - Parse a vector from a string - - A string representation of a 3D vector, enclosed - in arrow brackets and separated by commas - - - - Calculate the rotation between two vectors - - Normalized directional vector (such as 1,0,0 for forward facing) - Normalized target vector - - - - Interpolates between two vectors using a cubic equation - - - - - Get a formatted string representation of the vector - - A string representation of the vector - - - - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only - - Raw string representation of the vector - - - - Cross product between two vectors - - - - A vector with a value of 0,0,0 - - - A vector with a value of 1,1,1 - - - A unit vector facing forward (X axis), value 1,0,0 - - - A unit vector facing left (Y axis), value 0,1,0 - - - A unit vector facing up (Z axis), value 0,0,1 - Used for converting degrees to radians Used for converting radians to degrees + + Provide a single instance of the CultureInfo class to + help parsing in situations where the grid assumes an en-us + culture + + + UNIX epoch in DateTime format + + + Provide a single instance of the MD5 class to avoid making + duplicate copies and handle thread safety + + + Provide a single instance of the SHA-1 class to avoid + making duplicate copies and handle thread safety + + + Provide a single instance of a random number generator + to avoid making duplicate copies and handle thread safety + + + + Clamp a given value between a range + + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper + + + + Clamp a given value between a range + + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper + + + + Clamp a given value between a range + + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper + + + + Round a floating-point value to the nearest integer + + Floating point number to round + Integer + + + + Test if a single precision float is a finite number + + + + + Test if a double precision float is a finite number + + + + + Get the distance between two floating-point values + + First value + Second value + The distance between the two values + + + + Compute the MD5 hash for a byte array + + Byte array to compute the hash for + MD5 hash of the input data + + + + Compute the SHA1 hash for a byte array + + Byte array to compute the hash for + SHA1 hash of the input data + + + + Calculate the SHA1 hash of a given string + + The string to hash + The SHA1 hash as a string + + + + Compute the SHA256 hash for a byte array + + Byte array to compute the hash for + SHA256 hash of the input data + + + + Calculate the SHA256 hash of a given string + + The string to hash + The SHA256 hash as a string + + + + Calculate the MD5 hash of a given string + + The password to hash + An MD5 hash in string format, with $1$ prepended + + + + Calculate the MD5 hash of a given string + + The string to hash + The MD5 hash as a string + + + + Generate a random double precision floating point value + + Random value of type double + + + + Get the current running platform + + Enumeration of the current platform we are running on + + + + Get the current running runtime + + Enumeration of the current runtime we are running on + Convert the first two bytes starting in the byte array in @@ -1099,145 +1419,6 @@ Converted IP address object, or null if the conversion failed - - Provide a single instance of the CultureInfo class to - help parsing in situations where the grid assumes an en-us - culture - - - UNIX epoch in DateTime format - - - Provide a single instance of the MD5 class to avoid making - duplicate copies and handle thread safety - - - Provide a single instance of the SHA-1 class to avoid - making duplicate copies and handle thread safety - - - Provide a single instance of a random number generator - to avoid making duplicate copies and handle thread safety - - - - Clamp a given value between a range - - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper - - - - Clamp a given value between a range - - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper - - - - Clamp a given value between a range - - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper - - - - Round a floating-point value to the nearest integer - - Floating point number to round - Integer - - - - Test if a single precision float is a finite number - - - - - Test if a double precision float is a finite number - - - - - Get the distance between two floating-point values - - First value - Second value - The distance between the two values - - - - Compute the MD5 hash for a byte array - - Byte array to compute the hash for - MD5 hash of the input data - - - - Compute the SHA1 hash for a byte array - - Byte array to compute the hash for - SHA1 hash of the input data - - - - Calculate the SHA1 hash of a given string - - The string to hash - The SHA1 hash as a string - - - - Compute the SHA256 hash for a byte array - - Byte array to compute the hash for - SHA256 hash of the input data - - - - Calculate the SHA256 hash of a given string - - The string to hash - The SHA256 hash as a string - - - - Calculate the MD5 hash of a given string - - The password to hash - An MD5 hash in string format, with $1$ prepended - - - - Calculate the MD5 hash of a given string - - The string to hash - The MD5 hash as a string - - - - Generate a random double precision floating point value - - Random value of type double - - - - Get the current running platform - - Enumeration of the current platform we are running on - - - - Get the current running runtime - - Enumeration of the current runtime we are running on - Operating system @@ -1269,18 +1450,319 @@ Mono runtime: http://www.mono-project.com/ - - - A two-dimensional vector with floating-point values - - - + X value - + Y value - + + Z value + + + W value + + + + Build a quaternion from normalized float values + + X value from -1.0 to 1.0 + Y value from -1.0 to 1.0 + Z value from -1.0 to 1.0 + + + + Constructor, builds a quaternion object from a byte array + + Byte array containing four four-byte floats + Offset in the byte array to start reading at + Whether the source data is normalized or + not. If this is true 12 bytes will be read, otherwise 16 bytes will + be read. + + + + Normalizes the quaternion + + + + + Builds a quaternion object from a byte array + + The source byte array + Offset in the byte array to start reading at + Whether the source data is normalized or + not. If this is true 12 bytes will be read, otherwise 16 bytes will + be read. + + + + Normalize this quaternion and serialize it to a byte array + + A 12 byte array containing normalized X, Y, and Z floating + point values in order using little endian byte ordering + + + + Writes the raw bytes for this quaternion to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 12 bytes before the end of the array + + + + Convert this quaternion to euler angles + + X euler angle + Y euler angle + Z euler angle + + + + Convert this quaternion to an angle around an axis + + Unit vector describing the axis + Angle around the axis, in radians + + + + Returns the conjugate (spatial inverse) of a quaternion + + + + + Build a quaternion from an axis and an angle of rotation around + that axis + + + + + Build a quaternion from an axis and an angle of rotation around + that axis + + Axis of rotation + Angle of rotation + + + + Creates a quaternion from a vector containing roll, pitch, and yaw + in radians + + Vector representation of the euler angles in + radians + Quaternion representation of the euler angles + + + + Creates a quaternion from roll, pitch, and yaw euler angles in + radians + + X angle in radians + Y angle in radians + Z angle in radians + Quaternion representation of the euler angles + + + + Conjugates and renormalizes a vector + + + + + Spherical linear interpolation between two quaternions + + + + + Get a string representation of the quaternion elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the quaternion + + + A quaternion with a value of 0,0,0,1 + + + + Same as Queue except Dequeue function blocks until there is an object to return. + Note: This class does not need to be synchronized + + + + + Create new BlockingQueue. + + 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 + + + W value + + + + Constructor, builds a vector from a byte array + + Byte array containing four four-byte floats + Beginning position in the byte array + + Test if this vector is equal to another vector, within a given tolerance range @@ -1291,73 +1773,187 @@ True if the magnitude of difference between the two vectors is less than the given tolerance, otherwise false - - - Test if this vector is composed of all finite numbers - - - + IComparable.CompareTo implementation - + + + Test if this vector is composed of all finite numbers + + + Builds a vector from a byte array - Byte array containing two four-byte floats + Byte array containing a 16 byte vector Beginning position in the byte array - + Returns the raw bytes for this vector - An eight-byte array containing X and Y + A 16 byte array containing X, Y, Z, and W - + Writes the raw bytes for this vector to a byte array Destination byte array Position in the destination array to start - writing. Must be at least 8 bytes before the end of the array + writing. Must be at least 16 bytes before the end of the array - - - Parse a vector from a string - - A string representation of a 2D vector, enclosed - in arrow brackets and separated by commas - - - - Interpolates between two vectors using a cubic equation - - - - - Get a formatted string representation of the vector - - A string representation of the vector - - + Get a string representation of the vector elements with up to three decimal digits and separated by spaces only Raw string representation of the vector - - A vector with a value of 0,0 + + A vector with a value of 0,0,0,0 - - A vector with a value of 1,1 + + A vector with a value of 1,1,1,1 - - A vector with a value of 1,0 + + A vector with a value of 1,0,0,0 - - A vector with a value of 0,1 + + A vector with a value of 0,1,0,0 + + + A vector with a value of 0,0,1,0 + + + A vector with a value of 0,0,0,1 + + + For thread safety + + + For thread safety + + + + Purges expired objects from the cache. Called automatically by the purge timer. + + + + + A three-dimensional vector with floating-point values + + + + X value + + + Y value + + + Z value + + + + Constructor, builds a vector from a byte array + + Byte array containing three four-byte floats + Beginning position in the byte array + + + + Test if this vector is equal to another vector, within a given + tolerance range + + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false + + + + IComparable.CompareTo implementation + + + + + Test if this vector is composed of all finite numbers + + + + + Builds a vector from a byte array + + Byte array containing a 12 byte vector + Beginning position in the byte array + + + + Returns the raw bytes for this vector + + A 12 byte array containing X, Y, and Z + + + + Writes the raw bytes for this vector to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 12 bytes before the end of the array + + + + Parse a vector from a string + + A string representation of a 3D vector, enclosed + in arrow brackets and separated by commas + + + + Calculate the rotation between two vectors + + Normalized directional vector (such as 1,0,0 for forward facing) + Normalized target vector + + + + Interpolates between two vectors using a cubic equation + + + + + Get a formatted string representation of the vector + + A string representation of the vector + + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector + + + + Cross product between two vectors + + + + A vector with a value of 0,0,0 + + + A vector with a value of 1,1,1 + + + A unit vector facing forward (X axis), value 1,0,0 + + + A unit vector facing left (Y axis), value 0,1,0 + + + A unit vector facing up (Z axis), value 0,0,1 @@ -1912,691 +2508,95 @@ 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 + A two-dimensional vector with floating-point values - - - 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. - - - - - 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. - - - - - Attribute class that allows extra attributes to be attached to ENUMs - - - - Text used when presenting ENUM to user - - - Default initializer - - - Text used when presenting ENUM to user - - - - The different types of grid assets - - - - Unknown asset type - - - Texture asset, stores in JPEG2000 J2C stream format - - - Sound asset - - - Calling card for another avatar - - - Link to a location in world - - - Collection of textures and parameters that can be - worn by an avatar - - - Primitive that can contain textures, sounds, - scripts and more - - - Notecard asset - - - Holds a collection of inventory items - - - 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 - - - - - - - - - - - - - - - - - - - - - - Item Sale Status - - - - Not for sale - - - The original is for sale - - - Copies are for sale - - - The contents of the object are for sale - - - - Types of wearable assets - - - - Body shape - - - Skin textures and attributes - - - Hair - - - Eyes - - - Shirt - - - Pants - - - Shoes - - - Socks - - - Jacket - - - Gloves - - - Undershirt - - - Underpants - - - Skirt - - - Alpha mask to hide parts of the avatar - - - Tattoo - - - Invalid wearable asset - - + X value - + Y value - - Z value - - - W value - - + - Build a quaternion from normalized float values + Test if this vector is equal to another vector, within a given + tolerance range - X value from -1.0 to 1.0 - Y value from -1.0 to 1.0 - Z value from -1.0 to 1.0 + 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 - + - 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 + Test if this vector is composed of all finite numbers - + - Builds a quaternion object from a byte array + IComparable.CompareTo implementation - The source byte array - Offset in the byte array to start reading at - Whether the source data is normalized or - not. If this is true 12 bytes will be read, otherwise 16 bytes will - be read. - + - Normalize this quaternion and serialize it to a byte array + Builds a vector from a byte array - A 12 byte array containing normalized X, Y, and Z floating - point values in order using little endian byte ordering + Byte array containing two four-byte floats + Beginning position in the byte array - + - Writes the raw bytes for this quaternion to a byte array + Returns the raw bytes for this vector + + An eight-byte array containing X and Y + + + + Writes the raw bytes for this vector to a byte array Destination byte array Position in the destination array to start - writing. Must be at least 12 bytes before the end of the array + writing. Must be at least 8 bytes before the end of the array - + - Convert this quaternion to euler angles + Parse a vector from a string - X euler angle - Y euler angle - Z euler angle + A string representation of a 2D vector, enclosed + in arrow brackets and separated by commas - + - 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 + Interpolates between two vectors using a cubic equation - + - Build a quaternion from an axis and an angle of rotation around - that axis + Get a formatted string representation of the vector + A string representation of the vector - + - Build a quaternion from an axis and an angle of rotation around - that axis - - Axis of rotation - Angle of rotation - - - - Creates a quaternion from a vector containing roll, pitch, and yaw - in radians - - Vector representation of the euler angles in - radians - Quaternion representation of the euler angles - - - - Creates a quaternion from roll, pitch, and yaw euler angles in - radians - - X angle in radians - Y angle in radians - Z angle in radians - Quaternion representation of the euler angles - - - - Conjugates and renormalizes a vector - - - - - Spherical linear interpolation between two quaternions - - - - - Get a string representation of the quaternion elements with up to three + Get a string representation of the vector elements with up to three decimal digits and separated by spaces only - Raw string representation of the quaternion + Raw string representation of the vector - - A quaternion with a value of 0,0,0,1 + + A vector with a value of 0,0 - - - Provides helper methods for parallelizing loops - + + A vector with a value of 1,1 - - - Executes a for loop in which iterations may run in parallel - - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop + + A vector with a value of 1,0 - - - 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 - - - - Parent bucket to this bucket, or null if this is a root - bucket - - - Size of the bucket in bytes. If zero, the bucket has - infinite capacity - - - Rate that the bucket fills, in bytes per millisecond. If - zero, the bucket always remains full - - - Number of tokens currently in the bucket - - - Time of the last drip, in system ticks - - - - Default constructor - - Parent bucket if this is a child bucket, or - null if this is a root bucket - Maximum size of the bucket in bytes, or - zero if this bucket has no maximum capacity - Rate that the bucket fills, in bytes per - second. If zero, the bucket always remains full - - - - Remove a given number of tokens from the bucket - - Number of tokens to remove from the bucket - True if the requested number of tokens were removed from - the bucket, otherwise false - - - - Remove a given number of tokens from the bucket - - Number of tokens to remove from the bucket - True if tokens were added to the bucket - during this call, otherwise false - True if the requested number of tokens were removed from - the bucket, otherwise false - - - - Add tokens to the bucket over time. The number of tokens added each - call depends on the length of time that has passed since the last - call to Drip - - True if tokens were added to the bucket, otherwise false - - - - The parent bucket of this bucket, or null if this bucket has no - parent. The parent bucket will limit the aggregate bandwidth of all - of its children buckets - - - - - Maximum burst rate in bytes per second. This is the maximum number - of tokens that can accumulate in the bucket at any one time - - - - - The speed limit of this bucket in bytes per second. This is the - number of tokens that are added to the bucket per second - - Tokens are added to the bucket any time - is called, at the granularity of - the system tick interval (typically around 15-22ms) - - - - The number of bytes that can be sent at this moment. This is the - current number of tokens in the bucket - If this bucket has a parent bucket that does not have - enough tokens for a request, will - return false regardless of the content of this bucket - - - - - A thread-safe lockless queue that supports multiple readers and - multiple writers - - - - Queue head - - - Queue tail - - - Queue item count - - - - Constructor - - - - - Enqueue an item - - Item to enqeue - - - - Try to dequeue an item - - Dequeued item if the dequeue was successful - True if an item was successfully deqeued, otherwise false - - - Gets the current number of items in the queue. Since this - is a lockless collection this value should be treated as a close - estimate - - - - Provides a node container for data in a singly linked list - - - - Pointer to the next node in list - - - The data contained by the node - - - - Constructor - - - - - Constructor - + + A vector with a value of 0,1 diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index f4f701bac4378ebfec8501e7eded8476394bdb15..cab014d534e23b4f7c048e461a4cd5513ae3cc48 100644 GIT binary patch literal 114688 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

_%`b;xOIi!`z8BPm$mdoka zr^}Vw+UHr;4n`Jw3GG?d4&gM^r^}VgDdhrt8oL-d%Xyk|rXBpWGC9L(JpZxPm2lPl zF!qk4%VL!?I6EGUX_-x>A~O~YgN4O&1t#jj53SA|_#~S4{Gc1K27C-nJB%J`k(X8Q zKslaE;A}A+!y8sPyuO<)hDCxIr~v|MXYS(L>YosOB6QF-LX-X{3G^2|S9m{zVtB5_ z6MDX1x#Y1!xC%wXU@Mz3kz91G~ zzJPbGY&FS(Qm_MF*^_;&CCBMv3Ov}u@gAQ@jl zFP%)AfYhsn${KcycgcyttgoY*aGT9N9~Jrpw%$yB8dvc=jQ1qgfr9p=xzIV7?w_D{ z>Lc|2-OLd>Yrh`pT83PrE09ThA|)kN%cPr9>y`)gt4N)d6xmppu4?A#VNpmo9c`c} zJQ**m9UfxN#i_?`{z*D>(S>xqaO9FWB_Z=9Q=Zl`OBm0lK~TLI#IzE63mKO<;2hkq zzPvt=bwg>XaQ5w6qhvW8iRP}%ID zO6$u6FI0|IpfbqGOfOWL7*w&eO!-3P1OzIBoXq_~%SR{u223Z?F+5O!FXcw#-K#^^h?qyVSJa5faJlB zZvgTkKi><{Rwb2j5=*bE!HI`qG@&*j4wS|-mZUgXI%&L58o@V_*yt+bNAMROy_uks ze#BA01fBFJ4g)6WtVG1*XEw~xr3@UFFx->~%*e-G0ZX03EfL5XHU_~k)j1NTQ6aXP z6HnyeWb2Sq>p4fJc)t}S3mg{?W*m_ezd3X&mIO%U=n>|daLJdWhtC(!(sDyJO;86? zIaY-7gD=O4FyFZF4P0}mc1r4YN=~Rv>2^wOp`C2?A(T0QzHEEruu+xU1F5L%MSY|K z=MF?LV}Y?%jjb_`-bgchP>#1+e&0qY#gW6<2c-nlc0nn@2D>Xtahx&sKq)eLv%x(@y?I{S}9E*LL>ct&en8tLtgLe0~xli4C=#Z zSaNGMgi`U48>{~vo#OwdeV}J~<7hh$c0^4tbxU6#ZHK`wsPlj1cKSYiZ=TG%7_36Q zOtaf|Uqk6o|I($mT`82_LeKiBYOz0+bV6x3&AO2DZo5Xh?A9GlOSkQf8ZoExf7P#(n$WLPe*B%F))&#B> zmcZHZfb0GToTdY=XKUaz8gK?uAI$}vf#B?hz!?b6jtD&HkL-%TbμuEl|yB{}R8 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⁢xi?G#bL5-vV&XmmR5h6TvnwMwi!U*OgR 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 Lpa%Zm)WH7)14p@k literal 114688 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

LvercHQiKE?jlnaBNv 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 TI4*(X5;!h_;}ZD)r3C&j!fhNv