From 766ce9a14146dc9814d488364f5c931d0fa96a17 Mon Sep 17 00:00:00 2001
From: Melanie
Date: Mon, 4 Oct 2010 00:04:42 +0200
Subject: Add linden prim renderer and update libOMV
---
.../LindenUDP/UnackedPacketCollection.cs | 47 +-
.../Region/CoreModules/Asset/FlotsamAssetCache.cs | 4 +-
.../UserAccounts/UserAccountCache.cs | 4 +-
.../SimianUserAccountServiceConnector.cs | 6 +-
bin/OpenMetaverse.Rendering.Linden.dll | Bin 0 -> 40960 bytes
bin/OpenMetaverse.StructuredData.XML | 398 +-
bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 95232 bytes
bin/OpenMetaverse.XML | 36146 ++++++++++---------
bin/OpenMetaverse.dll | Bin 1691648 -> 1768960 bytes
bin/OpenMetaverse.dll.config | 14 +-
bin/OpenMetaverseTypes.XML | 3302 +-
bin/OpenMetaverseTypes.dll | Bin 106496 -> 105984 bytes
12 files changed, 20615 insertions(+), 19306 deletions(-)
create mode 100644 bin/OpenMetaverse.Rendering.Linden.dll
diff --git a/OpenSim/Region/ClientStack/LindenUDP/UnackedPacketCollection.cs b/OpenSim/Region/ClientStack/LindenUDP/UnackedPacketCollection.cs
index e43f7cf..c19e6a2 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/UnackedPacketCollection.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/UnackedPacketCollection.cs
@@ -1,4 +1,4 @@
-/*
+
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
@@ -139,28 +139,43 @@ namespace OpenSim.Region.ClientStack.LindenUDP
private void ProcessQueues()
{
// Process all the pending adds
- OutgoingPacket pendingAdd;
- while (m_pendingAdds.Dequeue(out pendingAdd))
- m_packets[pendingAdd.SequenceNumber] = pendingAdd;
+ OutgoingPacket pendingAdd;
+ if (m_pendingAdds != null)
+ {
+ while (m_pendingAdds.TryDequeue(out pendingAdd))
+ {
+ if (pendingAdd != null && m_packets != null)
+ {
+ m_packets[pendingAdd.SequenceNumber] = pendingAdd;
+ }
+ }
+ }
+
// Process all the pending removes, including updating statistics and round-trip times
PendingAck pendingRemove;
OutgoingPacket ackedPacket;
- while (m_pendingRemoves.Dequeue(out pendingRemove))
+ if (m_pendingRemoves != null)
{
- if (m_packets.TryGetValue(pendingRemove.SequenceNumber, out ackedPacket))
+ while (m_pendingRemoves.TryDequeue(out pendingRemove))
{
- m_packets.Remove(pendingRemove.SequenceNumber);
-
- // Update stats
- System.Threading.Interlocked.Add(ref ackedPacket.Client.UnackedBytes, -ackedPacket.Buffer.DataLength);
-
- if (!pendingRemove.FromResend)
+ if (m_pendingRemoves != null && m_packets != null)
{
- // Calculate the round-trip time for this packet and its ACK
- int rtt = pendingRemove.RemoveTime - ackedPacket.TickCount;
- if (rtt > 0)
- ackedPacket.Client.UpdateRoundTrip(rtt);
+ if (m_packets.TryGetValue(pendingRemove.SequenceNumber, out ackedPacket))
+ {
+ m_packets.Remove(pendingRemove.SequenceNumber);
+
+ // Update stats
+ System.Threading.Interlocked.Add(ref ackedPacket.Client.UnackedBytes, -ackedPacket.Buffer.DataLength);
+
+ if (!pendingRemove.FromResend)
+ {
+ // Calculate the round-trip time for this packet and its ACK
+ int rtt = pendingRemove.RemoveTime - ackedPacket.TickCount;
+ if (rtt > 0)
+ ackedPacket.Client.UpdateRoundTrip(rtt);
+ }
+ }
}
}
}
diff --git a/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs b/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs
index 9eaa758..6ed4867 100644
--- a/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs
+++ b/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs
@@ -252,7 +252,7 @@ namespace Flotsam.RegionModules.AssetCache
}
else
{
- m_MemoryCache.AddOrUpdate(key, asset, DateTime.MaxValue);
+ m_MemoryCache.AddOrUpdate(key, asset, Double.MaxValue);
}
}
}
@@ -863,4 +863,4 @@ namespace Flotsam.RegionModules.AssetCache
#endregion
}
-}
\ No newline at end of file
+}
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/UserAccounts/UserAccountCache.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/UserAccounts/UserAccountCache.cs
index 7c12b8c..e7cfda1 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/UserAccounts/UserAccountCache.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/UserAccounts/UserAccountCache.cs
@@ -53,9 +53,9 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.UserAccounts
public void Cache(UUID userID, UserAccount account)
{
// Cache even null accounts
- m_UUIDCache.AddOrUpdate(userID, account, DateTime.Now + TimeSpan.FromSeconds(CACHE_EXPIRATION_SECONDS));
+ m_UUIDCache.AddOrUpdate(userID, account, CACHE_EXPIRATION_SECONDS);
if (account != null)
- m_NameCache.AddOrUpdate(account.Name, account.PrincipalID, DateTime.Now + TimeSpan.FromSeconds(CACHE_EXPIRATION_SECONDS));
+ m_NameCache.AddOrUpdate(account.Name, account.PrincipalID, CACHE_EXPIRATION_SECONDS);
m_log.DebugFormat("[USER CACHE]: cached user {0}", userID);
}
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs
index ddd2322..9c150ee 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs
@@ -147,7 +147,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
if (account == null)
{
// Store null responses too, to avoid repeated lookups for missing accounts
- m_accountCache.AddOrUpdate(userID, null, DateTime.Now + TimeSpan.FromSeconds(CACHE_EXPIRATION_SECONDS));
+ m_accountCache.AddOrUpdate(userID, null, CACHE_EXPIRATION_SECONDS);
}
return account;
@@ -225,7 +225,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
if (success)
{
// Cache the user account info
- m_accountCache.AddOrUpdate(data.PrincipalID, data, DateTime.Now + TimeSpan.FromSeconds(CACHE_EXPIRATION_SECONDS));
+ m_accountCache.AddOrUpdate(data.PrincipalID, data, CACHE_EXPIRATION_SECONDS);
}
else
{
@@ -290,7 +290,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
GetFirstLastName(response["Name"].AsString(), out account.FirstName, out account.LastName);
// Cache the user account info
- m_accountCache.AddOrUpdate(account.PrincipalID, account, DateTime.Now + TimeSpan.FromSeconds(CACHE_EXPIRATION_SECONDS));
+ m_accountCache.AddOrUpdate(account.PrincipalID, account, CACHE_EXPIRATION_SECONDS);
return account;
}
diff --git a/bin/OpenMetaverse.Rendering.Linden.dll b/bin/OpenMetaverse.Rendering.Linden.dll
new file mode 100644
index 0000000..9642a8d
Binary files /dev/null and b/bin/OpenMetaverse.Rendering.Linden.dll differ
diff --git a/bin/OpenMetaverse.StructuredData.XML b/bin/OpenMetaverse.StructuredData.XML
index b8f45b1..927e960 100644
--- a/bin/OpenMetaverse.StructuredData.XML
+++ b/bin/OpenMetaverse.StructuredData.XML
@@ -1,333 +1,363 @@
- OpenMetaverse.StructuredData
+ /home/root/libopenmetaverse/bin/OpenMetaverse.StructuredData
-
+
-
+
+
-
+
+
-
-
+
-
-
-
-
+
-
-
-
-
+
-
-
-
-
+
-
-
-
-
+
-
-
-
-
-
+
-
-
-
-
-
-
+
-
-
-
-
-
+
-
-
-
-
-
+
-
-
-
-
+
-
-
-
-
+
-
-
-
-
+
-
+ Uses reflection to create an SDMap from all of the SD
+ serializable types in an object
-
-
+ Class or struct containing serializable types
+ An SDMap holding the serialized values from the
+ container object
-
+
-
+ Uses reflection to deserialize member variables in an object from
+ an SDMap
-
+ Reference to an object to fill with deserialized
+ values
+ Serialized values to put in the target
+ object
-
+
-
-
-
-
-
+
-
-
-
-
-
+
-
-
-
-
-
+
-
-
-
-
+
-
-
-
-
+
-
-
-
-
+
-
-
-
-
+
-
-
-
-
+
-
-
-
-
+
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
+
+
+
+
-
+
-
+
+
+
+
-
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
+
+
-
+
- Uses reflection to create an SDMap from all of the SD
- serializable types in an object
- Class or struct containing serializable types
- An SDMap holding the serialized values from the
- container object
+
+
+
+
+
+
-
+
- Uses reflection to deserialize member variables in an object from
- an SDMap
- Reference to an object to fill with deserialized
- values
- Serialized values to put in the target
- object
+
+
+
+
+
+
+
+
-
+
-
+
+
+
+
+
+
-
+
-
+
+
+
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
+
+
+
+
-
+
-
+
+
+
+
diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll
index 54681e4..27ccfbc 100644
Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ
diff --git a/bin/OpenMetaverse.XML b/bin/OpenMetaverse.XML
index ca9f359..fa1057a 100644
--- a/bin/OpenMetaverse.XML
+++ b/bin/OpenMetaverse.XML
@@ -1,4438 +1,4072 @@
- OpenMetaverse
+ /home/root/libopenmetaverse/bin/OpenMetaverse
-
+
- Capability to load TGAs to Bitmap
+ Permission request flags, asked when a script wants to control an Avatar
-
-
- Represents a primitive asset
-
+
+ Placeholder for empty values, shouldn't ever see this
-
-
- Base class for all Asset types
-
+
+ Script wants ability to take money from you
-
- A byte array containing the raw asset data
+
+ Script wants to take camera controls for you
-
- True if the asset it only stored on the server temporarily
+
+ Script wants to remap avatars controls
-
- A unique ID
+
+ Script wants to trigger avatar animations
+ This function is not implemented on the grid
-
-
- Construct a new Asset object
-
+
+ Script wants to attach or detach the prim or primset to your avatar
-
-
- Construct a new Asset object
-
- A unique specific to this asset
- A byte array containing the raw asset data
+
+ Script wants permission to release ownership
+ This function is not implemented on the grid
+ The concept of "public" objects does not exist anymore.
-
-
- Regenerates the AssetData
byte array from the properties
- of the derived class.
-
+
+ Script wants ability to link/delink with other prims
-
-
- Decodes the AssetData, placing it in appropriate properties of the derived
- class.
-
- True if the asset decoding succeeded, otherwise false
+
+ Script wants permission to change joints
+ This function is not implemented on the grid
-
- The assets unique ID
+
+ Script wants permissions to change permissions
+ This function is not implemented on the grid
-
-
- The "type" of asset, Notecard, Animation, etc
-
+
+ Script wants to track avatars camera position and rotation
-
- Initializes a new instance of an AssetPrim object
+
+ Script wants to control your camera
-
+
-
+ Special commands used in Instant Messages
-
-
-
-
-
+
+ Indicates a regular IM from another agent
-
- Override the base classes AssetType
+
+ Simple notification box with an OK button
-
-
- Only used internally for XML serialization/deserialization
-
+
+ You've been invited to join a group.
-
-
- pre-defined built in sounds
-
+
+ Inventory offer
-
-
+
+ Accepted inventory offer
-
-
+
+ Declined inventory offer
-
-
+
+ Group vote
-
-
+
+ An object is offering its inventory
-
-
+
+ Accept an inventory offer from an object
-
-
+
+ Decline an inventory offer from an object
-
-
+
+ Unknown
-
-
+
+ Start a session, or add users to a session
-
- coins
+
+ Start a session, but don't prune offline users
-
- cash register bell
+
+ Start a session with your group
-
-
+
+ Start a session without a calling card (finder or objects)
-
-
+
+ Send a message to a session
-
- rubber
+
+ Leave a session
-
- plastic
+
+ Indicates that the IM is from an object
-
- flesh
+
+ Sent an IM to a busy user, this is the auto response
-
- wood splintering?
+
+ Shows the message in the console and chat history
-
- glass break
+
+ Send a teleport lure
-
- metal clunk
+
+ Response sent to the agent which inititiated a teleport invitation
-
- whoosh
+
+ Response sent to the agent which inititiated a teleport invitation
-
- shake
+
+ Only useful if you have Linden permissions
-
-
+
+ A placeholder type for future expansion, currently not
+ used
-
- ding
+
+ IM to tell the user to go to an URL
-
-
+
+ IM for help
-
-
+
+ IM sent automatically on call for help, sends a lure
+ to each Helper reached
-
-
+
+ Like an IM but won't go to email
-
-
+
+ IM from a group officer to all group members
-
-
+
+ Unknown
-
-
+
+ Unknown
-
-
+
+ Accept a group invitation
-
-
+
+ Decline a group invitation
-
-
+
+ Unknown
-
-
+
+ An avatar is offering you friendship
-
-
+
+ An avatar has accepted your friendship offer
-
-
+
+ An avatar has declined your friendship offer
-
-
+
+ Indicates that a user has started typing
-
-
+
+ Indicates that a user has stopped typing
-
+
- A dictionary containing all pre-defined sounds
+ Flag in Instant Messages, whether the IM should be delivered to
+ offline avatars as well
- A dictionary containing the pre-defined sounds,
- where the key is the sounds ID, and the value is a string
- containing a name to identify the purpose of the sound
-
+
+ Only deliver to online avatars
+
+
+ If the avatar is offline the message will be held until
+ they login next, and possibly forwarded to their e-mail account
+
+
- Type of return to use when returning objects from a parcel
+ Conversion type to denote Chat Packet types in an easier-to-understand format
-
-
-
-
- Return objects owned by parcel owner
+
+ Whisper (5m radius)
-
- Return objects set to group
+
+ Normal chat (10/20m radius), what the official viewer typically sends
-
- Return objects not owned by parcel owner or set to group
+
+ Shouting! (100m radius)
-
- Return a specific list of objects on parcel
+
+ Event message when an Avatar has begun to type
-
- Return objects that are marked for-sale
+
+ Event message when an Avatar has stopped typing
-
+
+ Send the message to the debug channel
+
+
+ Event message when an object uses llOwnerSay
+
+
+ Special value to support llRegionSay, never sent to the client
+
+
- Blacklist/Whitelist flags used in parcels Access List
+ Identifies the source of a chat message
-
- Agent is denied access
+
+ Chat from the grid or simulator
-
- Agent is granted access
+
+ Chat from another avatar
-
+
+ Chat from an object
+
+
- The result of a request for parcel properties
-
- No matches were found for the request
+
+
+
-
- Request matched a single parcel
+
+
+
-
- Request matched multiple parcels
+
+
+
-
+
- Flags used in the ParcelAccessListRequest packet to specify whether
- we want the access list (whitelist), ban list (blacklist), or both
+ Effect type used in ViewerEffect packets
-
- Request the access list
+
+
+
-
- Request the ban list
+
+
+
-
- Request both White and Black lists
+
+
+
-
+
- Sequence ID in ParcelPropertiesReply packets (sent when avatar
- tries to cross a parcel border)
-
- Parcel is currently selected
+
+
+
-
- Parcel restricted to a group the avatar is not a
- member of
+
+
+
-
- Avatar is banned from the parcel
+
+
+
-
- Parcel is restricted to an access list that the
- avatar is not on
+
+ Project a beam from a source to a destination, such as
+ the one used when editing an object
-
- Response to hovering over a parcel
+
+
+
-
+
- The tool to use when modifying terrain levels
-
- Level the terrain
+
+
+
-
- Raise the terrain
+
+ Create a swirl of particles around an object
-
- Lower the terrain
+
+
+
-
- Smooth the terrain
+
+
+
-
- Add random noise to the terrain
+
+ Cause an avatar to look at an object
-
- Revert terrain to simulator default
+
+ Cause an avatar to point at an object
-
+
- The tool size to use when changing terrain levels
+ The action an avatar is doing when looking at something, used in
+ ViewerEffect packets for the LookAt effect
-
- Small
+
+
+
-
- Medium
+
+
+
-
- Large
+
+
+
-
+
- Reasons agent is denied access to a parcel on the simulator
-
- Agent is not denied, access is granted
+
+
+
-
- Agent is not a member of the group set for the parcel, or which owns the parcel
+
+
+
-
- Agent is not on the parcels specific allow list
+
+ Deprecated
-
- Agent is on the parcels ban list
+
+
+
-
- Unknown
+
+
+
-
- Agent is not age verified and parcel settings deny access to non age verified avatars
+
+
+
-
+
- Parcel overlay type. This is used primarily for highlighting and
- coloring which is why it is a single integer instead of a set of
- flags
- These values seem to be poorly thought out. The first three
- bits represent a single value, not flags. For example Auction (0x05) is
- not a combination of OwnedByOther (0x01) and ForSale(0x04). However,
- the BorderWest and BorderSouth values are bit flags that get attached
- to the value stored in the first three bits. Bits four, five, and six
- are unused
-
- Public land
+
+
+ The action an avatar is doing when pointing at something, used in
+ ViewerEffect packets for the PointAt effect
+
-
- Land is owned by another avatar
+
+
+
-
- Land is owned by a group
+
+
+
-
- Land is owned by the current avatar
+
+
+
-
- Land is for sale
+
+
+
-
- Land is being auctioned
+
+
+ Money transaction types
+
-
- To the west of this area is a parcel border
+
+
+
-
- To the south of this area is a parcel border
+
+
+
-
+
- Various parcel properties
-
- No flags set
+
+
+
-
- Allow avatars to fly (a client-side only restriction)
+
+
+
-
- Allow foreign scripts to run
+
+
+
-
- This parcel is for sale
+
+
+
-
- Allow avatars to create a landmark on this parcel
+
+
+
-
- Allows all avatars to edit the terrain on this parcel
+
+
+
-
- Avatars have health and can take damage on this parcel.
- If set, avatars can be killed and sent home here
+
+
+
-
- Foreign avatars can create objects here
+
+
+
-
- All objects on this parcel can be purchased
+
+
+
-
- Access is restricted to a group
+
+
+
-
- Access is restricted to a whitelist
+
+
+
-
- Ban blacklist is enabled
+
+
+
-
- Unknown
+
+
+
-
- List this parcel in the search directory
+
+
+
-
- Allow personally owned parcels to be deeded to group
+
+
+
-
- If Deeded, owner contributes required tier to group parcel is deeded to
+
+
+
-
- Restrict sounds originating on this parcel to the
- parcel boundaries
+
+
+
-
- Objects on this parcel are sold when the land is
- purchsaed
+
+
+
-
- Allow this parcel to be published on the web
+
+
+
-
- The information for this parcel is mature content
+
+
+
-
- The media URL is an HTML page
+
+
+
-
- The media URL is a raw HTML string
+
+
+
-
- Restrict foreign object pushes
+
+
+
-
- Ban all non identified/transacted avatars
+
+
+
-
- Allow group-owned scripts to run
+
+
+
-
- Allow object creation by group members or group
- objects
+
+
+
-
- Allow all objects to enter this parcel
+
+
+
-
- Only allow group and owner objects to enter this parcel
+
+
+
-
- Voice Enabled on this parcel
+
+
+
-
- Use Estate Voice channel for Voice on this parcel
+
+
+
-
- Deny Age Unverified Users
+
+
+
-
+
- Parcel ownership status
-
- Placeholder
+
+
+
-
- Parcel is leased (owned) by an avatar or group
+
+
+
-
- Parcel is in process of being leased (purchased) by an avatar or group
+
+
+
-
- Parcel has been abandoned back to Governor Linden
+
+
+
-
+
- Category parcel is listed in under search
-
- No assigned category
+
+
+
-
- Linden Infohub or public area
+
+
+
-
- Adult themed area
+
+
+
-
- Arts and Culture
+
+
+
-
- Business
+
+
+
-
- Educational
+
+
+
-
- Gaming
+
+
+
-
- Hangout or Club
+
+
+
-
- Newcomer friendly
+
+
+
-
- Parks and Nature
+
+
+
-
- Residential
+
+
+
-
- Shopping
+
+
+
-
- Not Used?
+
+
+
-
- Other
+
+
+
-
- Not an actual category, only used for queries
+
+
+
-
+
- Type of teleport landing for a parcel
-
- Unset, simulator default
+
+
+
-
- Specific landing point set for this parcel
+
+
+
-
- No landing point set, direct teleports enabled for
- this parcel
+
+
+
-
+
- Parcel Media Command used in ParcelMediaCommandMessage
-
- Stop the media stream and go back to the first frame
+
+
+
-
- Pause the media stream (stop playing but stay on current frame)
+
+
+
-
- Start the current media stream playing and stop when the end is reached
+
+
+
-
- Start the current media stream playing,
- loop to the beginning when the end is reached and continue to play
+
+
+
-
- Specifies the texture to replace with video
- If passing the key of a texture, it must be explicitly typecast as a key,
- not just passed within double quotes.
+
+
+ Flags sent when a script takes or releases a control
+
+ NOTE: (need to verify) These might be a subset of the ControlFlags enum in Movement,
-
- Specifies the movie URL (254 characters max)
+
+ No Flags set
-
- Specifies the time index at which to begin playing
+
+ Forward (W or up Arrow)
-
- Specifies a single agent to apply the media command to
+
+ Back (S or down arrow)
-
- Unloads the stream. While the stop command sets the texture to the first frame of the movie,
- unload resets it to the real texture that the movie was replacing.
+
+ Move left (shift+A or left arrow)
-
- Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties
- (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter.
+
+ Move right (shift+D or right arrow)
-
- Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only).
- Use "text/html" for HTML.
+
+ Up (E or PgUp)
-
- Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only).
- This might still not be working
+
+ Down (C or PgDown)
-
- Sets a description for the media being displayed (1.19.1 RC0 and later only).
+
+ Rotate left (A or left arrow)
-
+
+ Rotate right (D or right arrow)
+
+
+ Left Mouse Button
+
+
+ Left Mouse button in MouseLook
+
+
- Some information about a parcel of land returned from a DirectoryManager search
+ Currently only used to hide your group title
-
- Global Key of record
+
+ No flags set
-
- Parcel Owners
+
+ Hide your group title
-
- Name field of parcel, limited to 128 characters
+
+
+ Action state of the avatar, which can currently be typing and
+ editing
+
-
- Description field of parcel, limited to 256 characters
+
+
+
-
- Total Square meters of parcel
+
+
+
-
- Total area billable as Tier, for group owned land this will be 10% less than ActualArea
+
+
+
-
- True of parcel is in Mature simulator
+
+
+ Current teleport status
+
-
- Grid global X position of parcel
+
+ Unknown status
-
- Grid global Y position of parcel
+
+ Teleport initialized
-
- Grid global Z position of parcel (not used)
+
+ Teleport in progress
-
- Name of simulator parcel is located in
+
+ Teleport failed
-
- Texture of parcels display picture
+
+ Teleport completed
-
- Float representing calculated traffic based on time spent on parcel by avatars
+
+ Teleport cancelled
-
- Sale price of parcel (not used)
+
+
+
-
- Auction ID of parcel
+
+ No flags set, or teleport failed
-
+
+ Set when newbie leaves help island for first time
+
+
- Parcel Media Information
-
- A byte, if 0x1 viewer should auto scale media to fit object
+
+ Via Lure
-
- A boolean, if true the viewer should loop the media
+
+ Via Landmark
-
- The Asset UUID of the Texture which when applied to a
- primitive will display the media
+
+ Via Location
-
- A URL which points to any Quicktime supported media type
+
+ Via Home
-
- A description of the media
+
+ Via Telehub
-
- An Integer which represents the height of the media
+
+ Via Login
-
- An integer which represents the width of the media
+
+ Linden Summoned
-
- A string which contains the mime type of the media
+
+ Linden Forced me
-
+
- Parcel of land, a portion of virtual real estate in a simulator
-
- The total number of contiguous 4x4 meter blocks your agent owns within this parcel
+
+ Agent Teleported Home via Script
-
- The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own
+
+
+
-
- Deprecated, Value appears to always be 0
+
+
+
-
- Simulator-local ID of this parcel
+
+
+
-
- UUID of the owner of this parcel
+
+ forced to new location for example when avatar is banned or ejected
-
- Whether the land is deeded to a group or not
+
+ Teleport Finished via a Lure
-
-
+
+ Finished, Sim Changed
-
- Date land was claimed
+
+ Finished, Same Sim
-
- Appears to always be zero
+
+
+
-
- This field is no longer used
+
+
+
-
- Minimum corner of the axis-aligned bounding box for this
- parcel
+
+
+
-
- Maximum corner of the axis-aligned bounding box for this
- parcel
+
+
+
-
- Bitmap describing land layout in 4x4m squares across the
- entire region
+
+
+
-
- Total parcel land area
+
+
+
-
-
+
+
+
-
- Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used
+
+
+
-
- Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel
- owned by the agent or group that owns this parcel
+
+
+
-
- Maximum number of primitives this parcel supports
+
+
+ Instant Message
+
-
- Total number of primitives on this parcel
+
+ Key of sender
-
- For group-owned parcels this indicates the total number of prims deeded to the group,
- for parcels owned by an individual this inicates the number of prims owned by the individual
+
+ Name of sender
-
- Total number of primitives owned by the parcel group on
- this parcel, or for parcels owned by an individual with a group set the
- total number of prims set to that group.
+
+ Key of destination avatar
-
- Total number of prims owned by other avatars that are not set to group, or not the parcel owner
+
+ ID of originating estate
-
- A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect
- the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed
+
+ Key of originating region
-
- Autoreturn value in minutes for others' objects
+
+ Coordinates in originating region
-
-
+
+ Instant message type
-
- Sale price of the parcel, only useful if ForSale is set
- The SalePrice will remain the same after an ownership
- transfer (sale), so it can be used to see the purchase price after
- a sale if the new owner has not changed it
+
+ Group IM session toggle
-
- Parcel Name
+
+ Key of IM session, for Group Messages, the groups UUID
-
- Parcel Description
+
+ Timestamp of the instant message
-
- URL For Music Stream
+
+ Instant message text
-
-
+
+ Whether this message is held for offline avatars
-
- Price for a temporary pass
+
+ Context specific packed data
-
- How long is pass valid for
+
+ Print the struct data as a string
+ A string containing the field name, and field value
-
-
+
+
+ Manager class for our own avatar
+
-
- Key of authorized buyer
+
+
+ Constructor, setup callbacks for packets related to our avatar
+
+ A reference to the Class
-
- Key of parcel snapshot
+
+
+ Agent movement and camera control
+ Agent movement is controlled by setting specific
+ After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags
+ This is most easily accomplished by setting one or more of the AgentMovement properties
+ Movement of an avatar is always based on a compass direction, for example AtPos will move the
+ agent from West to East or forward on the X Axis, AtNeg will of course move agent from
+ East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis
+ The Z axis is Up, finer grained control of movements can be done using the Nudge properties
+
-
- The landing point location
+
+ Default constructor
-
- The landing point LookAt
+
+
+ Camera controls for the agent, mostly a thin wrapper around
+ CoordinateFrame. This class is only responsible for state
+ tracking and math, it does not send any packets
+
-
- The type of landing enforced from the enum
+
+
+ Default constructor
+
-
-
+
+
+
-
-
+
+ The camera is a local frame of reference inside of
+ the larger grid space. This is where the math happens
-
-
+
+
+
-
- Access list of who is whitelisted on this
- parcel
+
+
+
-
- Access list of who is blacklisted on this
- parcel
+
+
+
-
- TRUE of region denies access to age unverified users
+
+
+
-
- true to obscure (hide) media url
+
+ Agent camera controls
-
- true to obscure (hide) music url
+
+ Currently only used for hiding your group title
-
- A struct containing media details
+
+ Action state of the avatar, which can currently be
+ typing and editing
-
+
- Displays a parcel object in string format
- string containing key=value pairs of a parcel object
-
+