From 2d315ec207292ef05bab5e4f662599e755d7acbf Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 5 Nov 2013 20:58:52 +0000
Subject: Fix a race condition where pCampbot actions could continue even if a
bot had disconnected.
---
OpenSim/Tools/pCampBot/Bot.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index ccc24fa..70aa2cb 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -276,7 +276,7 @@ namespace pCampBot
//add additional steps and/or things the bot should do
private void Action()
{
- while (ConnectionState != ConnectionState.Disconnecting)
+ while (ConnectionState == ConnectionState.Connected)
{
lock (Behaviours)
{
--
cgit v1.1
From fb23f78928c72cdaab1e33270f4c732690e10714 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 5 Nov 2013 23:18:09 +0000
Subject: minor: comment out "SetLastPosition" GridUserService debug message
for now.
---
OpenSim/Services/UserAccountService/GridUserService.cs | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/OpenSim/Services/UserAccountService/GridUserService.cs b/OpenSim/Services/UserAccountService/GridUserService.cs
index 944411f..bef1691 100644
--- a/OpenSim/Services/UserAccountService/GridUserService.cs
+++ b/OpenSim/Services/UserAccountService/GridUserService.cs
@@ -194,7 +194,8 @@ namespace OpenSim.Services.UserAccountService
public bool SetLastPosition(string userID, UUID sessionID, UUID regionID, Vector3 lastPosition, Vector3 lastLookAt)
{
- m_log.DebugFormat("[GRID USER SERVICE]: SetLastPosition for {0}", userID);
+// m_log.DebugFormat("[GRID USER SERVICE]: SetLastPosition for {0}", userID);
+
GridUserData d = m_Database.Get(userID);
if (d == null)
{
--
cgit v1.1
From caf2abe311a9f7a703ba7444601c34d96053edcf Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 5 Nov 2013 23:32:26 +0000
Subject: Record individual region bot disconnects in pCampbot log
---
OpenSim/Tools/pCampBot/Bot.cs | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index 70aa2cb..de464ab 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -264,9 +264,10 @@ namespace pCampBot
newClient.Throttle.Total = 400000;
}
- newClient.Network.LoginProgress += this.Network_LoginProgress;
- newClient.Network.SimConnected += this.Network_SimConnected;
- newClient.Network.Disconnected += this.Network_OnDisconnected;
+ newClient.Network.LoginProgress += Network_LoginProgress;
+ newClient.Network.SimConnected += Network_SimConnected;
+ newClient.Network.SimDisconnected += Network_SimDisconnected;
+ newClient.Network.Disconnected += Network_OnDisconnected;
newClient.Objects.ObjectUpdate += Objects_NewPrim;
Client = newClient;
@@ -583,7 +584,13 @@ namespace pCampBot
public void Network_SimConnected(object sender, SimConnectedEventArgs args)
{
m_log.DebugFormat(
- "[BOT]: Bot {0} connected to {1} at {2}", Name, args.Simulator.Name, args.Simulator.IPEndPoint);
+ "[BOT]: Bot {0} connected to region {1} at {2}", Name, args.Simulator.Name, args.Simulator.IPEndPoint);
+ }
+
+ public void Network_SimDisconnected(object sender, SimDisconnectedEventArgs args)
+ {
+ m_log.DebugFormat(
+ "[BOT]: Bot {0} disconnected from region {1} at {2}", Name, args.Simulator.Name, args.Simulator.IPEndPoint);
}
public void Network_OnDisconnected(object sender, DisconnectedEventArgs args)
@@ -591,7 +598,7 @@ namespace pCampBot
ConnectionState = ConnectionState.Disconnected;
m_log.DebugFormat(
- "[BOT]: Bot {0} disconnected reason {1}, message {2}", Name, args.Reason, args.Message);
+ "[BOT]: Bot {0} disconnected from grid, reason {1}, message {2}", Name, args.Reason, args.Message);
// m_log.ErrorFormat("Fired Network_OnDisconnected");
--
cgit v1.1
From 8e1bf55e7b85f8c92237ef2208a4a2c31ba6153c Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 6 Nov 2013 01:02:20 +0000
Subject: Add IncomingPacketsResentCount clientstack statistics
This records how many packets were indicated to be resends by clients
Not 100% reliable since clients can lie about resends, but usually would indicate if clients are not receiving UDP acks at all or in a manner they consider timely.
---
.../Region/ClientStack/Linden/UDP/LLUDPServer.cs | 23 ++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
index 3bd1ef1..c0a4e56 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
@@ -134,6 +134,19 @@ namespace OpenSim.Region.ClientStack.LindenUDP
StatsManager.RegisterStat(
new Stat(
+ "IncomingPacketsResentCount",
+ "Number of inbound packets that clients indicate are resends.",
+ "",
+ "",
+ "clientstack",
+ scene.Name,
+ StatType.Pull,
+ MeasuresOfInterest.AverageChangeOverTime,
+ stat => stat.Value = m_udpServer.IncomingPacketsResentCount,
+ StatVerbosity.Debug));
+
+ StatsManager.RegisterStat(
+ new Stat(
"OutgoingUDPSendsCount",
"Number of UDP sends performed",
"",
@@ -318,6 +331,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
internal int PacketsSentCount { get; set; }
///
+ /// Record how many incoming packets are indicated as resends by clients.
+ ///
+ internal int IncomingPacketsResentCount { get; set; }
+
+ ///
/// Record how many inbound packets could not be recognized as LLUDP packets.
///
public int IncomingMalformedPacketCount { get; private set; }
@@ -1467,6 +1485,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
#region Incoming Packet Accounting
+ // We're not going to worry about interlock yet since its not currently critical that this total count
+ // is 100% correct
+ if (packet.Header.Resent)
+ IncomingPacketsResentCount++;
+
// Check the archive of received reliable packet IDs to see whether we already received this packet
if (packet.Header.Reliable && !udpClient.PacketArchive.TryEnqueue(packet.Header.Sequence))
{
--
cgit v1.1
From 417836ac5e3beb840ad68909e6f618ee3177b282 Mon Sep 17 00:00:00 2001
From: Latif Khalifa
Date: Wed, 6 Nov 2013 02:43:44 +0100
Subject: Updated libomv to 25ee208a 2013-11-05
---
bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 20480 bytes
bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 106496 bytes
bin/OpenMetaverse.XML | 125 +++++++++++++++++++++++++++-
bin/OpenMetaverse.dll | Bin 1794048 -> 1806336 bytes
bin/OpenMetaverseTypes.XML | 52 ------------
bin/OpenMetaverseTypes.dll | Bin 110592 -> 110592 bytes
6 files changed, 124 insertions(+), 53 deletions(-)
diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll
index e63593e..052490d 100755
Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ
diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll
index d6a3247..8b920bd 100755
Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ
diff --git a/bin/OpenMetaverse.XML b/bin/OpenMetaverse.XML
index 457cbe1..6e35a04 100644
--- a/bin/OpenMetaverse.XML
+++ b/bin/OpenMetaverse.XML
@@ -7557,6 +7557,9 @@
+
+
+
@@ -9160,6 +9163,13 @@
A byte array containing raw texture data
+
+
+ Create a byte array containing 32-bit RGBA data with a bottom-left
+ origin, suitable for feeding directly into OpenGL
+
+ A byte array containing raw texture data
+
Represents an Animation
@@ -11537,6 +11547,26 @@
A that represents the ending Y size of the particle
Minimum value is 0, maximum value is 4
+
+ A that represents the start glow value
+ Minimum value is 0, maximum value is 1
+
+
+ A that represents the end glow value
+ Minimum value is 0, maximum value is 1
+
+
+ OpenGL blend function to use at particle source
+
+
+ OpenGL blend function to use at particle destination
+
+
+
+ Can this particle system be packed in a legacy compatible way
+
+ True if the particle system doesn't use new particle system features
+
Decodes a byte[] array into a ParticleSystem Object
@@ -11611,6 +11641,15 @@
used for point/grab/touch
+
+ continuous ribbon particle
+
+
+ particle data contains glow
+
+
+ particle data contains blend functions
+
Particle Flags Enum
@@ -12044,6 +12083,17 @@
UUID of the transaction
The callback to fire when the simulator responds with the asset data
+
+
+ Request an asset download
+
+ Asset UUID
+ Asset type, must be correct for the transfer to succeed
+ Whether to give this transfer an elevated priority
+ Source location of the requested asset
+ UUID of the transaction
+ The callback to fire when the simulator responds with the asset data
+
Request an asset download through the almost deprecated Xfer system
@@ -18501,7 +18551,11 @@
True on success, otherwise false
-
+
+
+ Populates textures and visual params from a decoded asset
+
+ Wearable to decode
Populates textures and visual params from a decoded asset
@@ -18984,6 +19038,9 @@
+
+ User data
+
@@ -19146,6 +19203,15 @@
Region protocol flags
+
+ Nothing special
+
+
+ Region supports Server side Appearance
+
+
+ Viewer supports Server side Appearance
+
Access level for a simulator
@@ -21475,6 +21541,11 @@
Constants for the archiving module
+
+
+ Path for region settings.
+
+
The location of the archive control file
@@ -23668,6 +23739,58 @@
OSD containting the messaage
+
+
+ Provides helper methods for parallelizing loops
+
+
+
+
+ Executes a for loop in which iterations may run in parallel
+
+ The loop will be started at this index
+ The loop will be terminated before this index is reached
+ Method body to run for each iteration of the loop
+
+
+
+ Executes a for loop in which iterations may run in parallel
+
+ The number of concurrent execution threads to run
+ The loop will be started at this index
+ The loop will be terminated before this index is reached
+ Method body to run for each iteration of the loop
+
+
+
+ Executes a foreach loop in which iterations may run in parallel
+
+ Object type that the collection wraps
+ An enumerable collection to iterate over
+ Method body to run for each object in the collection
+
+
+
+ Executes a foreach loop in which iterations may run in parallel
+
+ Object type that the collection wraps
+ The number of concurrent execution threads to run
+ An enumerable collection to iterate over
+ Method body to run for each object in the collection
+
+
+
+ Executes a series of tasks in parallel
+
+ A series of method bodies to execute
+
+
+
+ Executes a series of tasks in parallel
+
+ The number of concurrent execution threads to run
+ A series of method bodies to execute
+
Sort by name
diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll
index 3d89548..a91670d 100755
Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ
diff --git a/bin/OpenMetaverseTypes.XML b/bin/OpenMetaverseTypes.XML
index 56e3ac7..4f5b6b4 100644
--- a/bin/OpenMetaverseTypes.XML
+++ b/bin/OpenMetaverseTypes.XML
@@ -2573,58 +2573,6 @@
A cache of UUID.Zero as a string to optimize a common path
-
-
- Provides helper methods for parallelizing loops
-
-
-
-
- Executes a for loop in which iterations may run in parallel
-
- The loop will be started at this index
- The loop will be terminated before this index is reached
- Method body to run for each iteration of the loop
-
-
-
- Executes a for loop in which iterations may run in parallel
-
- The number of concurrent execution threads to run
- The loop will be started at this index
- The loop will be terminated before this index is reached
- Method body to run for each iteration of the loop
-
-
-
- Executes a foreach loop in which iterations may run in parallel
-
- Object type that the collection wraps
- An enumerable collection to iterate over
- Method body to run for each object in the collection
-
-
-
- Executes a foreach loop in which iterations may run in parallel
-
- Object type that the collection wraps
- The number of concurrent execution threads to run
- An enumerable collection to iterate over
- Method body to run for each object in the collection
-
-
-
- Executes a series of tasks in parallel
-
- A series of method bodies to execute
-
-
-
- Executes a series of tasks in parallel
-
- The number of concurrent execution threads to run
- A series of method bodies to execute
-
Copy constructor
diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll
index 213555c..4d00d5e 100755
Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ
--
cgit v1.1
From 26fd29622d602cbd63743f4f2fa0b681b00826ed Mon Sep 17 00:00:00 2001
From: Latif Khalifa
Date: Wed, 6 Nov 2013 03:48:48 +0100
Subject: Added sending (for now hard-coded) sim isze in SendMapBlockSplit()
---
OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 1a2d4de..20bc59c 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -1463,6 +1463,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
mapReply.AgentData.AgentID = AgentId;
mapReply.Data = new MapBlockReplyPacket.DataBlock[mapBlocks2.Length];
+ mapReply.Size = new MapBlockReplyPacket.SizeBlock[mapBlocks2.Length];
mapReply.AgentData.Flags = flag;
for (int i = 0; i < mapBlocks2.Length; i++)
@@ -1477,6 +1478,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
mapReply.Data[i].RegionFlags = mapBlocks2[i].RegionFlags;
mapReply.Data[i].Access = mapBlocks2[i].Access;
mapReply.Data[i].Agents = mapBlocks2[i].Agents;
+
+ // TODO: hookup varregion sim size here
+ mapReply.Size[i] = new MapBlockReplyPacket.SizeBlock();
+ mapReply.Size[i].SizeX = 256;
+ mapReply.Size[i].SizeY = 256;
}
OutPacket(mapReply, ThrottleOutPacketType.Land);
}
--
cgit v1.1
From cd33972ed12b7e5cb3771591259d218f51160774 Mon Sep 17 00:00:00 2001
From: dahlia
Date: Tue, 5 Nov 2013 22:04:39 -0800
Subject: trigger a build to see if tests will work
---
CONTRIBUTORS.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt
index a4bcb91..9ae7a31 100644
--- a/CONTRIBUTORS.txt
+++ b/CONTRIBUTORS.txt
@@ -7,7 +7,7 @@ people that make the day to day of OpenSim happen.
* justincc (OSVW Consulting, justincc.org)
* chi11ken (Genkii)
-* dahlia
+* dahlia
* Melanie Thielker
* Diva (Crista Lopes, University of California, Irvine)
* Dan Lake (Intel)
--
cgit v1.1
From e1ce3907f2edfd10b9322db4b429922897ed9905 Mon Sep 17 00:00:00 2001
From: dahlia
Date: Tue, 5 Nov 2013 23:01:14 -0800
Subject: Update libomv to 7e260ad419ebb1c24a5f1b123e11dd930e05f414. Thanks
lkalif :)
---
bin/OpenMetaverseTypes.XML | 2220 ++++++++++++++++++++++----------------------
bin/OpenMetaverseTypes.dll | Bin 110592 -> 110592 bytes
2 files changed, 1110 insertions(+), 1110 deletions(-)
diff --git a/bin/OpenMetaverseTypes.XML b/bin/OpenMetaverseTypes.XML
index 4f5b6b4..5280485 100644
--- a/bin/OpenMetaverseTypes.XML
+++ b/bin/OpenMetaverseTypes.XML
@@ -4,1048 +4,988 @@
OpenMetaverseTypes
-
- Used for converting degrees to radians
+
+ For thread safety
-
- Used for converting radians to degrees
+
+ For thread safety
-
+
- Convert the first two bytes starting in the byte array in
- little endian ordering to a signed short integer
+ Purges expired objects from the cache. Called automatically by the purge timer.
- An array two bytes or longer
- A signed short integer, will be zero if a short can't be
- read at the given position
-
+
- Convert the first two bytes starting at the given position in
- little endian ordering to a signed short integer
+ Determines the appropriate events to set, leaves the locks, and sets the events.
- An array two bytes or longer
- Position in the array to start reading
- A signed short integer, will be zero if a short can't be
- read at the given position
-
+
- Convert the first four bytes starting at the given position in
- little endian ordering to a signed integer
+ A routine for lazily creating a event outside the lock (so if errors
+ happen they are outside the lock and that we don't do much work
+ while holding a spin lock). If all goes well, reenter the lock and
+ set 'waitEvent'
- An array four bytes or longer
- Position to start reading the int from
- A signed integer, will be zero if an int can't be read
- at the given position
-
+
- Convert the first four bytes of the given array in little endian
- ordering to a signed integer
+ Waits on 'waitEvent' with a timeout of 'millisceondsTimeout.
+ Before the wait 'numWaiters' is incremented and is restored before leaving this routine.
- An array four bytes or longer
- A signed integer, will be zero if the array contains
- less than four bytes
-
+
+ X value
+
+
+ Y value
+
+
+ Z value
+
+
+ W value
+
+
- Convert the first eight bytes of the given array in little endian
- ordering to a signed long integer
+ Build a quaternion from normalized float values
- An array eight bytes or longer
- A signed long integer, will be zero if the array contains
- less than eight bytes
+ X value from -1.0 to 1.0
+ Y value from -1.0 to 1.0
+ Z value from -1.0 to 1.0
-
+
- Convert the first eight bytes starting at the given position in
- little endian ordering to a signed long integer
+ Constructor, builds a quaternion object from a byte array
- An array eight bytes or longer
- Position to start reading the long from
- A signed long integer, will be zero if a long can't be read
- at the given position
+ Byte array containing four four-byte floats
+ Offset in the byte array to start reading at
+ Whether the source data is normalized or
+ not. If this is true 12 bytes will be read, otherwise 16 bytes will
+ be read.
-
+
- Convert the first two bytes starting at the given position in
- little endian ordering to an unsigned short
+ Normalizes the quaternion
- Byte array containing the ushort
- Position to start reading the ushort from
- An unsigned short, will be zero if a ushort can't be read
- at the given position
-
+
- Convert two bytes in little endian ordering to an unsigned short
+ Builds a quaternion object from a byte array
- Byte array containing the ushort
- An unsigned short, will be zero if a ushort can't be
- read
+ The source byte array
+ Offset in the byte array to start reading at
+ Whether the source data is normalized or
+ not. If this is true 12 bytes will be read, otherwise 16 bytes will
+ be read.
-
+
- Convert the first four bytes starting at the given position in
- little endian ordering to an unsigned integer
+ Normalize this quaternion and serialize it to a byte array
- Byte array containing the uint
- Position to start reading the uint from
- An unsigned integer, will be zero if a uint can't be read
- at the given position
+ A 12 byte array containing normalized X, Y, and Z floating
+ point values in order using little endian byte ordering
-
+
- Convert the first four bytes of the given array in little endian
- ordering to an unsigned integer
+ Writes the raw bytes for this quaternion to a byte array
- An array four bytes or longer
- An unsigned integer, will be zero if the array contains
- less than four bytes
+ Destination byte array
+ Position in the destination array to start
+ writing. Must be at least 12 bytes before the end of the array
-
+
- Convert the first eight bytes of the given array in little endian
- ordering to an unsigned 64-bit integer
+ Convert this quaternion to euler angles
- An array eight bytes or longer
- An unsigned 64-bit integer, will be zero if the array
- contains less than eight bytes
+ X euler angle
+ Y euler angle
+ Z euler angle
-
+
- Convert four bytes in little endian ordering to a floating point
- value
+ Convert this quaternion to an angle around an axis
- Byte array containing a little ending floating
- point value
- Starting position of the floating point value in
- the byte array
- Single precision value
+ Unit vector describing the axis
+ Angle around the axis, in radians
-
+
- Convert an integer to a byte array in little endian format
+ Returns the conjugate (spatial inverse) of a quaternion
- The integer to convert
- A four byte little endian array
-
+
- Convert an integer to a byte array in big endian format
+ Build a quaternion from an axis and an angle of rotation around
+ that axis
- The integer to convert
- A four byte big endian array
-
+
- Convert a 64-bit integer to a byte array in little endian format
+ Build a quaternion from an axis and an angle of rotation around
+ that axis
- The value to convert
- An 8 byte little endian array
+ Axis of rotation
+ Angle of rotation
-
+
- Convert a 64-bit unsigned integer to a byte array in little endian
- format
+ Creates a quaternion from a vector containing roll, pitch, and yaw
+ in radians
- The value to convert
- An 8 byte little endian array
+ Vector representation of the euler angles in
+ radians
+ Quaternion representation of the euler angles
-
+
- Convert a floating point value to four bytes in little endian
- ordering
+ Creates a quaternion from roll, pitch, and yaw euler angles in
+ radians
- A floating point value
- A four byte array containing the value in little endian
- ordering
+ X angle in radians
+ Y angle in radians
+ Z angle in radians
+ Quaternion representation of the euler angles
-
+
- Converts an unsigned integer to a hexadecimal string
+ Conjugates and renormalizes a vector
- An unsigned integer to convert to a string
- A hexadecimal string 10 characters long
- 0x7fffffff
-
+
- Convert a variable length UTF8 byte array to a string
+ Spherical linear interpolation between two quaternions
- The UTF8 encoded byte array to convert
- The decoded string
-
+
- Converts a byte array to a string containing hexadecimal characters
+ Get a string representation of the quaternion elements with up to three
+ decimal digits and separated by spaces only
- The byte array to convert to a string
- The name of the field to prepend to each
- line of the string
- A string containing hexadecimal characters on multiple
- lines. Each line is prepended with the field name
+ Raw string representation of the quaternion
-
+
+ A quaternion with a value of 0,0,0,1
+
+
- Converts a byte array to a string containing hexadecimal characters
+ A three-dimensional vector with doubleing-point values
- The byte array to convert to a string
- Number of bytes in the array to parse
- A string to prepend to each line of the hex
- dump
- A string containing hexadecimal characters on multiple
- lines. Each line is prepended with the field name
-
+
+ X value
+
+
+ Y value
+
+
+ Z value
+
+
- Convert a string to a UTF8 encoded byte array
+ Constructor, builds a vector from a byte array
- The string to convert
- A null-terminated UTF8 byte array
+ Byte array containing three eight-byte doubles
+ Beginning position in the byte array
-
+
- Converts a string containing hexadecimal characters to a byte array
+ Test if this vector is equal to another vector, within a given
+ tolerance range
- String containing hexadecimal characters
- If true, gracefully handles null, empty and
- uneven strings as well as stripping unconvertable characters
- The converted byte array
+ Vector to test against
+ The acceptable magnitude of difference
+ between the two vectors
+ True if the magnitude of difference between the two vectors
+ is less than the given tolerance, otherwise false
-
+
- Returns true is c is a hexadecimal digit (A-F, a-f, 0-9)
+ IComparable.CompareTo implementation
- Character to test
- true if hex digit, false if not
-
+
- Converts 1 or 2 character string into equivalant byte value
+ Test if this vector is composed of all finite numbers
- 1 or 2 character string
- byte
-
+
- Convert a float value to a byte given a minimum and maximum range
+ Builds a vector from a byte array
- Value to convert to a byte
- Minimum value range
- Maximum value range
- A single byte representing the original float value
+ Byte array containing a 24 byte vector
+ Beginning position in the byte array
-
+
- Convert a byte to a float value given a minimum and maximum range
+ Returns the raw bytes for this vector
- Byte array to get the byte from
- Position in the byte array the desired byte is at
- Minimum value range
- Maximum value range
- A float value inclusively between lower and upper
+ A 24 byte array containing X, Y, and Z
-
+
- Convert a byte to a float value given a minimum and maximum range
+ Writes the raw bytes for this vector to a byte array
- Byte to convert to a float value
- Minimum value range
- Maximum value range
- A float value inclusively between lower and upper
+ Destination byte array
+ Position in the destination array to start
+ writing. Must be at least 24 bytes before the end of the array
-
+
- Attempts to parse a floating point value from a string, using an
- EN-US number format
+ Parse a vector from a string
- String to parse
- Resulting floating point number
- True if the parse was successful, otherwise false
+ A string representation of a 3D vector, enclosed
+ in arrow brackets and separated by commas
-
+
- Attempts to parse a floating point value from a string, using an
- EN-US number format
+ Interpolates between two vectors using a cubic equation
- String to parse
- Resulting floating point number
- True if the parse was successful, otherwise false
-
+
- Tries to parse an unsigned 32-bit integer from a hexadecimal string
+ Get a formatted string representation of the vector
- String to parse
- Resulting integer
- True if the parse was successful, otherwise false
+ A string representation of the vector
-
+
- Returns text specified in EnumInfo attribute of the enumerator
- To add the text use [EnumInfo(Text = "Some nice text here")] before declaration
- of enum values
+ Get a string representation of the vector elements with up to three
+ decimal digits and separated by spaces only
- Enum value
- Text representation of the enum
+ Raw string representation of the vector
-
+
- Takes an AssetType and returns the string representation
+ Cross product between two vectors
- The source
- The string version of the AssetType
-
+
- Translate a string name of an AssetType into the proper Type
+ Implicit casting for Vector3 > Vector3d
- A string containing the AssetType name
- The AssetType which matches the string name, or AssetType.Unknown if no match was found
+
+
-
+
+ A vector with a value of 0,0,0
+
+
+ A vector with a value of 1,1,1
+
+
+ A unit vector facing forward (X axis), value of 1,0,0
+
+
+ A unit vector facing left (Y axis), value of 0,1,0
+
+
+ A unit vector facing up (Z axis), value of 0,0,1
+
+
- Convert an InventoryType to a string
+ A thread-safe lockless queue that supports multiple readers and
+ multiple writers
- The to convert
- A string representation of the source
-
+
+ Queue head
+
+
+ Queue tail
+
+
+ Queue item count
+
+
- Convert a string into a valid InventoryType
+ Constructor
- A string representation of the InventoryType to convert
- A InventoryType object which matched the type
-
+
- Convert a SaleType to a string
+ Enqueue an item
- The to convert
- A string representation of the source
+ Item to enqeue
-
+
- Convert a string into a valid SaleType
+ Try to dequeue an item
- A string representation of the SaleType to convert
- A SaleType object which matched the type
+ Dequeued item if the dequeue was successful
+ True if an item was successfully deqeued, otherwise false
-
+
+ Gets the current number of items in the queue. Since this
+ is a lockless collection this value should be treated as a close
+ estimate
+
+
- Converts a string used in LLSD to AttachmentPoint type
+ Provides a node container for data in a singly linked list
- String representation of AttachmentPoint to convert
- AttachmentPoint enum
-
+
+ Pointer to the next node in list
+
+
+ The data contained by the node
+
+
- Copy a byte array
+ Constructor
- Byte array to copy
- A copy of the given byte array
-
+
- Packs to 32-bit unsigned integers in to a 64-bit unsigned integer
+ Constructor
- The left-hand (or X) value
- The right-hand (or Y) value
- A 64-bit integer containing the two 32-bit input values
-
+
- Unpacks two 32-bit unsigned integers from a 64-bit unsigned integer
+ Convert this matrix to euler rotations
- The 64-bit input integer
- The left-hand (or X) output value
- The right-hand (or Y) output value
+ X euler angle
+ Y euler angle
+ Z euler angle
-
+
- Convert an IP address object to an unsigned 32-bit integer
+ Convert this matrix to a quaternion rotation
- IP address to convert
- 32-bit unsigned integer holding the IP address bits
+ A quaternion representation of this rotation matrix
-
+
- Gets a unix timestamp for the current time
+ Construct a matrix from euler rotation values in radians
- An unsigned integer representing a unix timestamp for now
+ X euler angle in radians
+ Y euler angle in radians
+ Z euler angle in radians
-
+
- Convert a UNIX timestamp to a native DateTime object
+ Get a formatted string representation of the vector
- An unsigned integer representing a UNIX
- timestamp
- A DateTime object containing the same time specified in
- the given timestamp
+ A string representation of the vector
-
+
+ A 4x4 matrix containing all zeroes
+
+
+ A 4x4 identity matrix
+
+
+ Used for converting degrees to radians
+
+
+ Used for converting radians to degrees
+
+
- Convert a UNIX timestamp to a native DateTime object
+ Convert the first two bytes starting in the byte array in
+ little endian ordering to a signed short integer
- A signed integer representing a UNIX
- timestamp
- A DateTime object containing the same time specified in
- the given timestamp
+ An array two bytes or longer
+ A signed short integer, will be zero if a short can't be
+ read at the given position
-
+
- Convert a native DateTime object to a UNIX timestamp
+ Convert the first two bytes starting at the given position in
+ little endian ordering to a signed short integer
- A DateTime object you want to convert to a
- timestamp
- An unsigned integer representing a UNIX timestamp
+ An array two bytes or longer
+ Position in the array to start reading
+ A signed short integer, will be zero if a short can't be
+ read at the given position
-
+
- Swap two values
-
- Type of the values to swap
- First value
- Second value
+ Convert the first four bytes starting at the given position in
+ little endian ordering to a signed integer
+
+ An array four bytes or longer
+ Position to start reading the int from
+ A signed integer, will be zero if an int can't be read
+ at the given position
-
+
- Try to parse an enumeration value from a string
+ Convert the first four bytes of the given array in little endian
+ ordering to a signed integer
- Enumeration type
- String value to parse
- Enumeration value on success
- True if the parsing succeeded, otherwise false
+ An array four bytes or longer
+ A signed integer, will be zero if the array contains
+ less than four bytes
-
+
- Swaps the high and low words in a byte. Converts aaaabbbb to bbbbaaaa
+ Convert the first eight bytes of the given array in little endian
+ ordering to a signed long integer
- Byte to swap the words in
- Byte value with the words swapped
+ An array eight bytes or longer
+ A signed long integer, will be zero if the array contains
+ less than eight bytes
-
+
- Attempts to convert a string representation of a hostname or IP
- address to a
+ Convert the first eight bytes starting at the given position in
+ little endian ordering to a signed long integer
- Hostname to convert to an IPAddress
- Converted IP address object, or null if the conversion
- failed
-
-
- Provide a single instance of the CultureInfo class to
- help parsing in situations where the grid assumes an en-us
- culture
-
-
- UNIX epoch in DateTime format
-
-
- Provide a single instance of the MD5 class to avoid making
- duplicate copies and handle thread safety
-
-
- Provide a single instance of the SHA-1 class to avoid
- making duplicate copies and handle thread safety
-
-
- Provide a single instance of a random number generator
- to avoid making duplicate copies and handle thread safety
+ An array eight bytes or longer
+ Position to start reading the long from
+ A signed long integer, will be zero if a long can't be read
+ at the given position
-
+
- Clamp a given value between a range
+ Convert the first two bytes starting at the given position in
+ little endian ordering to an unsigned short
- Value to clamp
- Minimum allowable value
- Maximum allowable value
- A value inclusively between lower and upper
+ Byte array containing the ushort
+ Position to start reading the ushort from
+ An unsigned short, will be zero if a ushort can't be read
+ at the given position
-
+
- Clamp a given value between a range
+ Convert two bytes in little endian ordering to an unsigned short
- Value to clamp
- Minimum allowable value
- Maximum allowable value
- A value inclusively between lower and upper
+ Byte array containing the ushort
+ An unsigned short, will be zero if a ushort can't be
+ read
-
+
- Clamp a given value between a range
+ Convert the first four bytes starting at the given position in
+ little endian ordering to an unsigned integer
- Value to clamp
- Minimum allowable value
- Maximum allowable value
- A value inclusively between lower and upper
+ Byte array containing the uint
+ Position to start reading the uint from
+ An unsigned integer, will be zero if a uint can't be read
+ at the given position
-
+
- Round a floating-point value to the nearest integer
+ Convert the first four bytes of the given array in little endian
+ ordering to an unsigned integer
- Floating point number to round
- Integer
+ An array four bytes or longer
+ An unsigned integer, will be zero if the array contains
+ less than four bytes
-
+
- Test if a single precision float is a finite number
+ Convert the first eight bytes of the given array in little endian
+ ordering to an unsigned 64-bit integer
+ An array eight bytes or longer
+ An unsigned 64-bit integer, will be zero if the array
+ contains less than eight bytes
-
+
- Test if a double precision float is a finite number
+ Convert four bytes in little endian ordering to a floating point
+ value
+ Byte array containing a little ending floating
+ point value
+ Starting position of the floating point value in
+ the byte array
+ Single precision value
-
+
- Get the distance between two floating-point values
+ Convert an integer to a byte array in little endian format
- First value
- Second value
- The distance between the two values
+ The integer to convert
+ A four byte little endian array
-
+
- Compute the MD5 hash for a byte array
+ Convert an integer to a byte array in big endian format
- Byte array to compute the hash for
- MD5 hash of the input data
+ The integer to convert
+ A four byte big endian array
-
+
- Compute the SHA1 hash for a byte array
+ Convert a 64-bit integer to a byte array in little endian format
- Byte array to compute the hash for
- SHA1 hash of the input data
+ The value to convert
+ An 8 byte little endian array
-
+
- Calculate the SHA1 hash of a given string
+ Convert a 64-bit unsigned integer to a byte array in little endian
+ format
- The string to hash
- The SHA1 hash as a string
+ The value to convert
+ An 8 byte little endian array
-
+
- Compute the SHA256 hash for a byte array
+ Convert a floating point value to four bytes in little endian
+ ordering
- Byte array to compute the hash for
- SHA256 hash of the input data
+ A floating point value
+ A four byte array containing the value in little endian
+ ordering
-
+
- Calculate the SHA256 hash of a given string
+ Converts an unsigned integer to a hexadecimal string
- The string to hash
- The SHA256 hash as a string
+ An unsigned integer to convert to a string
+ A hexadecimal string 10 characters long
+ 0x7fffffff
-
+
- Calculate the MD5 hash of a given string
+ Convert a variable length UTF8 byte array to a string
- The password to hash
- An MD5 hash in string format, with $1$ prepended
+ The UTF8 encoded byte array to convert
+ The decoded string
-
+
- Calculate the MD5 hash of a given string
+ Converts a byte array to a string containing hexadecimal characters
- The string to hash
- The MD5 hash as a string
+ The byte array to convert to a string
+ The name of the field to prepend to each
+ line of the string
+ A string containing hexadecimal characters on multiple
+ lines. Each line is prepended with the field name
-
+
- Generate a random double precision floating point value
+ Converts a byte array to a string containing hexadecimal characters
- Random value of type double
+ The byte array to convert to a string
+ Number of bytes in the array to parse
+ A string to prepend to each line of the hex
+ dump
+ A string containing hexadecimal characters on multiple
+ lines. Each line is prepended with the field name
-
+
- Get the current running platform
+ Convert a string to a UTF8 encoded byte array
- Enumeration of the current platform we are running on
+ The string to convert
+ A null-terminated UTF8 byte array
-
+
- Get the current running runtime
+ Converts a string containing hexadecimal characters to a byte array
- Enumeration of the current runtime we are running on
+ String containing hexadecimal characters
+ If true, gracefully handles null, empty and
+ uneven strings as well as stripping unconvertable characters
+ The converted byte array
-
+
- Operating system
+ Returns true is c is a hexadecimal digit (A-F, a-f, 0-9)
+ Character to test
+ true if hex digit, false if not
-
- Unknown
-
-
- Microsoft Windows
-
-
- Microsoft Windows CE
-
-
- Linux
-
-
- Apple OSX
-
-
+
- Runtime platform
+ Converts 1 or 2 character string into equivalant byte value
+ 1 or 2 character string
+ byte
-
- .NET runtime
-
-
- Mono runtime: http://www.mono-project.com/
-
-
+
- Convert this matrix to euler rotations
+ Convert a float value to a byte given a minimum and maximum range
- X euler angle
- Y euler angle
- Z euler angle
+ Value to convert to a byte
+ Minimum value range
+ Maximum value range
+ A single byte representing the original float value
-
+
- Convert this matrix to a quaternion rotation
+ Convert a byte to a float value given a minimum and maximum range
- A quaternion representation of this rotation matrix
+ Byte array to get the byte from
+ Position in the byte array the desired byte is at
+ Minimum value range
+ Maximum value range
+ A float value inclusively between lower and upper
-
+
- Construct a matrix from euler rotation values in radians
+ Convert a byte to a float value given a minimum and maximum range
- X euler angle in radians
- Y euler angle in radians
- Z euler angle in radians
+ Byte to convert to a float value
+ Minimum value range
+ Maximum value range
+ A float value inclusively between lower and upper
-
+
- Get a formatted string representation of the vector
+ Attempts to parse a floating point value from a string, using an
+ EN-US number format
- A string representation of the vector
-
-
- A 4x4 matrix containing all zeroes
-
-
- A 4x4 identity matrix
+ String to parse
+ Resulting floating point number
+ True if the parse was successful, otherwise false
-
+
- Same as Queue except Dequeue function blocks until there is an object to return.
- Note: This class does not need to be synchronized
+ Attempts to parse a floating point value from a string, using an
+ EN-US number format
+ String to parse
+ Resulting floating point number
+ True if the parse was successful, otherwise false
-
+
- Create new BlockingQueue.
+ Tries to parse an unsigned 32-bit integer from a hexadecimal string
- The System.Collections.ICollection to copy elements from
+ String to parse
+ Resulting integer
+ True if the parse was successful, otherwise false
-
+
- Create new BlockingQueue.
+ Returns text specified in EnumInfo attribute of the enumerator
+ To add the text use [EnumInfo(Text = "Some nice text here")] before declaration
+ of enum values
- The initial number of elements that the queue can contain
+ Enum value
+ Text representation of the enum
-
+
- Create new BlockingQueue.
+ Takes an AssetType and returns the string representation
+ The source
+ The string version of the AssetType
-
+
- BlockingQueue Destructor (Close queue, resume any waiting thread).
+ Translate a string name of an AssetType into the proper Type
+ A string containing the AssetType name
+ The AssetType which matches the string name, or AssetType.Unknown if no match was found
-
+
- Remove all objects from the Queue.
+ Convert an InventoryType to a string
+ The to convert
+ A string representation of the source
-
+
- Remove all objects from the Queue, resume all dequeue threads.
+ Convert a string into a valid InventoryType
+ A string representation of the InventoryType to convert
+ A InventoryType object which matched the type
-
+
- Removes and returns the object at the beginning of the Queue.
+ Convert a SaleType to a string
- Object in queue.
+ The to convert
+ A string representation of the source
-
+
- Removes and returns the object at the beginning of the Queue.
+ Convert a string into a valid SaleType
- time to wait before returning
- Object in queue.
+ A string representation of the SaleType to convert
+ A SaleType object which matched the type
-
+
- Removes and returns the object at the beginning of the Queue.
+ Converts a string used in LLSD to AttachmentPoint type
- time to wait before returning (in milliseconds)
- Object in queue.
+ String representation of AttachmentPoint to convert
+ AttachmentPoint enum
-
+
- Adds an object to the end of the Queue
+ Copy a byte array
- Object to put in queue
+ Byte array to copy
+ A copy of the given byte array
-
+
- Open Queue.
+ Packs to 32-bit unsigned integers in to a 64-bit unsigned integer
+ The left-hand (or X) value
+ The right-hand (or Y) value
+ A 64-bit integer containing the two 32-bit input values
-
+
- Gets flag indicating if queue has been closed.
+ Unpacks two 32-bit unsigned integers from a 64-bit unsigned integer
+ The 64-bit input integer
+ The left-hand (or X) output value
+ The right-hand (or Y) output value
-
- X value
-
-
- Y value
-
-
- Z value
-
-
- W value
-
-
+
- Constructor, builds a vector from a byte array
+ Convert an IP address object to an unsigned 32-bit integer
- Byte array containing four four-byte floats
- Beginning position in the byte array
+ IP address to convert
+ 32-bit unsigned integer holding the IP address bits
-
+
- Test if this vector is equal to another vector, within a given
- tolerance range
+ Gets a unix timestamp for the current time
- Vector to test against
- The acceptable magnitude of difference
- between the two vectors
- True if the magnitude of difference between the two vectors
- is less than the given tolerance, otherwise false
+ An unsigned integer representing a unix timestamp for now
-
+
- IComparable.CompareTo implementation
+ Convert a UNIX timestamp to a native DateTime object
+ An unsigned integer representing a UNIX
+ timestamp
+ A DateTime object containing the same time specified in
+ the given timestamp
-
+
- Test if this vector is composed of all finite numbers
+ Convert a UNIX timestamp to a native DateTime object
+ A signed integer representing a UNIX
+ timestamp
+ A DateTime object containing the same time specified in
+ the given timestamp
-
+
- Builds a vector from a byte array
+ Convert a native DateTime object to a UNIX timestamp
- Byte array containing a 16 byte vector
- Beginning position in the byte array
+ A DateTime object you want to convert to a
+ timestamp
+ An unsigned integer representing a UNIX timestamp
-
+
- Returns the raw bytes for this vector
+ Swap two values
- A 16 byte array containing X, Y, Z, and W
+ Type of the values to swap
+ First value
+ Second value
-
+
- Writes the raw bytes for this vector to a byte array
+ Try to parse an enumeration value from a string
- Destination byte array
- Position in the destination array to start
- writing. Must be at least 16 bytes before the end of the array
+ Enumeration type
+ String value to parse
+ Enumeration value on success
+ True if the parsing succeeded, otherwise false
-
+
- Get a string representation of the vector elements with up to three
- decimal digits and separated by spaces only
+ Swaps the high and low words in a byte. Converts aaaabbbb to bbbbaaaa
- Raw string representation of the vector
+ Byte to swap the words in
+ Byte value with the words swapped
-
- A vector with a value of 0,0,0,0
+
+
+ Attempts to convert a string representation of a hostname or IP
+ address to a
+
+ Hostname to convert to an IPAddress
+ Converted IP address object, or null if the conversion
+ failed
-
- A vector with a value of 1,1,1,1
+
+ Provide a single instance of the CultureInfo class to
+ help parsing in situations where the grid assumes an en-us
+ culture
-
- A vector with a value of 1,0,0,0
+
+ UNIX epoch in DateTime format
-
- A vector with a value of 0,1,0,0
+
+ Provide a single instance of the MD5 class to avoid making
+ duplicate copies and handle thread safety
-
- A vector with a value of 0,0,1,0
+
+ Provide a single instance of the SHA-1 class to avoid
+ making duplicate copies and handle thread safety
-
- A vector with a value of 0,0,0,1
+
+ Provide a single instance of a random number generator
+ to avoid making duplicate copies and handle thread safety
-
+
- A three-dimensional vector with doubleing-point values
+ Clamp a given value between a range
+ Value to clamp
+ Minimum allowable value
+ Maximum allowable value
+ A value inclusively between lower and upper
-
- X value
-
-
- Y value
-
-
- Z value
-
-
+
- Constructor, builds a vector from a byte array
+ Clamp a given value between a range
- Byte array containing three eight-byte doubles
- Beginning position in the byte array
+ Value to clamp
+ Minimum allowable value
+ Maximum allowable value
+ A value inclusively between lower and upper
-
+
- Test if this vector is equal to another vector, within a given
- tolerance range
+ Clamp a given value between a range
- Vector to test against
- The acceptable magnitude of difference
- between the two vectors
- True if the magnitude of difference between the two vectors
- is less than the given tolerance, otherwise false
+ Value to clamp
+ Minimum allowable value
+ Maximum allowable value
+ A value inclusively between lower and upper
-
+
- IComparable.CompareTo implementation
+ Round a floating-point value to the nearest integer
+ Floating point number to round
+ Integer
-
+
- Test if this vector is composed of all finite numbers
+ Test if a single precision float is a finite number
-
+
- Builds a vector from a byte array
+ Test if a double precision float is a finite number
- Byte array containing a 24 byte vector
- Beginning position in the byte array
-
+
- Returns the raw bytes for this vector
+ Get the distance between two floating-point values
- A 24 byte array containing X, Y, and Z
+ First value
+ Second value
+ The distance between the two values
-
+
- Writes the raw bytes for this vector to a byte array
+ Compute the MD5 hash for a byte array
- Destination byte array
- Position in the destination array to start
- writing. Must be at least 24 bytes before the end of the array
+ Byte array to compute the hash for
+ MD5 hash of the input data
-
+
- Parse a vector from a string
+ Compute the SHA1 hash for a byte array
- A string representation of a 3D vector, enclosed
- in arrow brackets and separated by commas
+ Byte array to compute the hash for
+ SHA1 hash of the input data
-
+
- Interpolates between two vectors using a cubic equation
+ Calculate the SHA1 hash of a given string
+ The string to hash
+ The SHA1 hash as a string
-
+
- Get a formatted string representation of the vector
+ Compute the SHA256 hash for a byte array
- A string representation of the vector
+ Byte array to compute the hash for
+ SHA256 hash of the input data
-
+
- Get a string representation of the vector elements with up to three
- decimal digits and separated by spaces only
+ Calculate the SHA256 hash of a given string
- Raw string representation of the vector
+ The string to hash
+ The SHA256 hash as a string
-
+
- Cross product between two vectors
+ Calculate the MD5 hash of a given string
+ The password to hash
+ An MD5 hash in string format, with $1$ prepended
-
+
- Implicit casting for Vector3 > Vector3d
+ Calculate the MD5 hash of a given string
-
-
-
-
- A vector with a value of 0,0,0
-
-
- A vector with a value of 1,1,1
-
-
- A unit vector facing forward (X axis), value of 1,0,0
-
-
- A unit vector facing left (Y axis), value of 0,1,0
-
-
- A unit vector facing up (Z axis), value of 0,0,1
+ The string to hash
+ The MD5 hash as a string
-
+
- A three-dimensional vector with floating-point values
+ Generate a random double precision floating point value
+ Random value of type double
-
- X value
-
-
- Y value
-
-
- Z value
-
-
+
- Constructor, builds a vector from a byte array
+ Get the current running platform
- Byte array containing three four-byte floats
- Beginning position in the byte array
+ Enumeration of the current platform we are running on
-
+
- Test if this vector is equal to another vector, within a given
- tolerance range
+ Get the current running runtime
- Vector to test against
- The acceptable magnitude of difference
- between the two vectors
- True if the magnitude of difference between the two vectors
- is less than the given tolerance, otherwise false
+ Enumeration of the current runtime we are running on
-
+
- IComparable.CompareTo implementation
+ Operating system
-
-
- Test if this vector is composed of all finite numbers
-
+
+ Unknown
-
-
- Builds a vector from a byte array
-
- Byte array containing a 12 byte vector
- Beginning position in the byte array
+
+ Microsoft Windows
-
-
- Returns the raw bytes for this vector
-
- A 12 byte array containing X, Y, and Z
+
+ Microsoft Windows CE
-
-
- Writes the raw bytes for this vector to a byte array
-
- Destination byte array
- Position in the destination array to start
- writing. Must be at least 12 bytes before the end of the array
+
+ Linux
-
-
- Parse a vector from a string
-
- A string representation of a 3D vector, enclosed
- in arrow brackets and separated by commas
+
+ Apple OSX
-
+
- Calculate the rotation between two vectors
+ Runtime platform
- Normalized directional vector (such as 1,0,0 for forward facing)
- Normalized target vector
-
-
- Interpolates between two vectors using a cubic equation
-
+
+ .NET runtime
-
-
- Get a formatted string representation of the vector
-
- A string representation of the vector
+
+ Mono runtime: http://www.mono-project.com/
-
+
- Get a string representation of the vector elements with up to three
- decimal digits and separated by spaces only
+ Identifier code for primitive types
- Raw string representation of the vector
-
-
- Cross product between two vectors
-
+
+ None
-
-
- Explicit casting for Vector3d > Vector3
-
-
-
-
-
- A vector with a value of 0,0,0
-
-
- A vector with a value of 1,1,1
-
-
- A unit vector facing forward (X axis), value 1,0,0
-
-
- A unit vector facing left (Y axis), value 0,1,0
-
-
- A unit vector facing up (Z axis), value 0,0,1
-
-
-
- Identifier code for primitive types
-
-
-
- None
-
-
- A Primitive
+
+ A Primitive
A Avatar
@@ -1615,6 +1555,92 @@
Use convex hull represantion of this prim
+
+ X value
+
+
+ Y value
+
+
+ Z value
+
+
+ W value
+
+
+
+ Constructor, builds a vector from a byte array
+
+ Byte array containing four four-byte floats
+ Beginning position in the byte array
+
+
+
+ Test if this vector is equal to another vector, within a given
+ tolerance range
+
+ Vector to test against
+ The acceptable magnitude of difference
+ between the two vectors
+ True if the magnitude of difference between the two vectors
+ is less than the given tolerance, otherwise false
+
+
+
+ IComparable.CompareTo implementation
+
+
+
+
+ Test if this vector is composed of all finite numbers
+
+
+
+
+ Builds a vector from a byte array
+
+ Byte array containing a 16 byte vector
+ Beginning position in the byte array
+
+
+
+ Returns the raw bytes for this vector
+
+ A 16 byte array containing X, Y, Z, and W
+
+
+
+ Writes the raw bytes for this vector to a byte array
+
+ Destination byte array
+ Position in the destination array to start
+ writing. Must be at least 16 bytes before the end of the array
+
+
+
+ Get a string representation of the vector elements with up to three
+ decimal digits and separated by spaces only
+
+ Raw string representation of the vector
+
+
+ A vector with a value of 0,0,0,0
+
+
+ A vector with a value of 1,1,1,1
+
+
+ A vector with a value of 1,0,0,0
+
+
+ A vector with a value of 0,1,0,0
+
+
+ A vector with a value of 0,0,1,0
+
+
+ A vector with a value of 0,0,0,1
+
An 8-bit color structure including an alpha channel
@@ -1748,18 +1774,34 @@
A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0)
-
+
- A two-dimensional vector with floating-point values
+ Copy constructor
+ Circular queue to copy
-
+
+
+ A three-dimensional vector with floating-point values
+
+
+
X value
-
+
Y value
-
+
+ Z value
+
+
+
+ Constructor, builds a vector from a byte array
+
+ Byte array containing three four-byte floats
+ Beginning position in the byte array
+
+
Test if this vector is equal to another vector, within a given
tolerance range
@@ -1770,337 +1812,487 @@
True if the magnitude of difference between the two vectors
is less than the given tolerance, otherwise false
-
+
- Test if this vector is composed of all finite numbers
+ IComparable.CompareTo implementation
-
+
- IComparable.CompareTo implementation
+ Test if this vector is composed of all finite numbers
-
+
Builds a vector from a byte array
- Byte array containing two four-byte floats
+ Byte array containing a 12 byte vector
Beginning position in the byte array
-
+
Returns the raw bytes for this vector
- An eight-byte array containing X and Y
+ A 12 byte array containing X, Y, and Z
-
+
Writes the raw bytes for this vector to a byte array
Destination byte array
Position in the destination array to start
- writing. Must be at least 8 bytes before the end of the array
+ writing. Must be at least 12 bytes before the end of the array
-
+
Parse a vector from a string
- A string representation of a 2D vector, enclosed
+ A string representation of a 3D vector, enclosed
in arrow brackets and separated by commas
-
+
+
+ Calculate the rotation between two vectors
+
+ Normalized directional vector (such as 1,0,0 for forward facing)
+ Normalized target vector
+
+
Interpolates between two vectors using a cubic equation
-
+
Get a formatted string representation of the vector
A string representation of the vector
-
+
Get a string representation of the vector elements with up to three
decimal digits and separated by spaces only
Raw string representation of the vector
-
- A vector with a value of 0,0
-
-
- A vector with a value of 1,1
-
-
- A vector with a value of 1,0
-
-
- A vector with a value of 0,1
+
+
+ Cross product between two vectors
+
-
+
- A hierarchical token bucket for bandwidth throttling. See
- http://en.wikipedia.org/wiki/Token_bucket for more information
+ Explicit casting for Vector3d > Vector3
+
+
-
- Parent bucket to this bucket, or null if this is a root
- bucket
+
+ A vector with a value of 0,0,0
-
- Size of the bucket in bytes. If zero, the bucket has
- infinite capacity
+
+ A vector with a value of 1,1,1
-
- Rate that the bucket fills, in bytes per millisecond. If
- zero, the bucket always remains full
+
+ A unit vector facing forward (X axis), value 1,0,0
-
- Number of tokens currently in the bucket
+
+ A unit vector facing left (Y axis), value 0,1,0
-
- Time of the last drip, in system ticks
+
+ A unit vector facing up (Z axis), value 0,0,1
-
+
- Default constructor
+ A 128-bit Universally Unique Identifier, used throughout the Second
+ Life networking protocol
- Parent bucket if this is a child bucket, or
- null if this is a root bucket
- Maximum size of the bucket in bytes, or
- zero if this bucket has no maximum capacity
- Rate that the bucket fills, in bytes per
- second. If zero, the bucket always remains full
-
+
+ The System.Guid object this struct wraps around
+
+
- Remove a given number of tokens from the bucket
+ Constructor that takes a string UUID representation
- Number of tokens to remove from the bucket
- True if the requested number of tokens were removed from
- the bucket, otherwise false
+ A string representation of a UUID, case
+ insensitive and can either be hyphenated or non-hyphenated
+ UUID("11f8aa9c-b071-4242-836b-13b7abe0d489")
-
+
- Remove a given number of tokens from the bucket
+ Constructor that takes a System.Guid object
- Number of tokens to remove from the bucket
- True if tokens were added to the bucket
- during this call, otherwise false
- True if the requested number of tokens were removed from
- the bucket, otherwise false
+ A Guid object that contains the unique identifier
+ to be represented by this UUID
-
+
- Add tokens to the bucket over time. The number of tokens added each
- call depends on the length of time that has passed since the last
- call to Drip
+ Constructor that takes a byte array containing a UUID
- True if tokens were added to the bucket, otherwise false
+ Byte array containing a 16 byte UUID
+ Beginning offset in the array
-
+
- The parent bucket of this bucket, or null if this bucket has no
- parent. The parent bucket will limit the aggregate bandwidth of all
- of its children buckets
+ Constructor that takes an unsigned 64-bit unsigned integer to
+ convert to a UUID
+ 64-bit unsigned integer to convert to a UUID
-
+
- Maximum burst rate in bytes per second. This is the maximum number
- of tokens that can accumulate in the bucket at any one time
+ Copy constructor
+ UUID to copy
-
+
- The speed limit of this bucket in bytes per second. This is the
- number of tokens that are added to the bucket per second
+ IComparable.CompareTo implementation
- Tokens are added to the bucket any time
- is called, at the granularity of
- the system tick interval (typically around 15-22ms)
-
+
- The number of bytes that can be sent at this moment. This is the
- current number of tokens in the bucket
- If this bucket has a parent bucket that does not have
- enough tokens for a request, will
- return false regardless of the content of this bucket
+ Assigns this UUID from 16 bytes out of a byte array
+ Byte array containing the UUID to assign this UUID to
+ Starting position of the UUID in the byte array
-
- X value
-
-
- Y value
-
-
- Z value
-
-
- W value
-
-
+
- Build a quaternion from normalized float values
+ Returns a copy of the raw bytes for this UUID
- X value from -1.0 to 1.0
- Y value from -1.0 to 1.0
- Z value from -1.0 to 1.0
+ A 16 byte array containing this UUID
-
+
- Constructor, builds a quaternion object from a byte array
+ Writes the raw bytes for this UUID to a byte array
- Byte array containing four four-byte floats
- Offset in the byte array to start reading at
- Whether the source data is normalized or
- not. If this is true 12 bytes will be read, otherwise 16 bytes will
- be read.
+ Destination byte array
+ Position in the destination array to start
+ writing. Must be at least 16 bytes before the end of the array
-
+
- Normalizes the quaternion
+ Calculate an LLCRC (cyclic redundancy check) for this UUID
+ The CRC checksum for this UUID
-
+
- Builds a quaternion object from a byte array
+ Create a 64-bit integer representation from the second half of this UUID
- The source byte array
- Offset in the byte array to start reading at
- Whether the source data is normalized or
- not. If this is true 12 bytes will be read, otherwise 16 bytes will
- be read.
+ An integer created from the last eight bytes of this UUID
-
+
- Normalize this quaternion and serialize it to a byte array
+ Generate a UUID from a string
- A 12 byte array containing normalized X, Y, and Z floating
- point values in order using little endian byte ordering
+ A string representation of a UUID, case
+ insensitive and can either be hyphenated or non-hyphenated
+ UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489")
-
+
- Writes the raw bytes for this quaternion to a byte array
+ Generate a UUID from a string
- Destination byte array
- Position in the destination array to start
- writing. Must be at least 12 bytes before the end of the array
+ A string representation of a UUID, case
+ insensitive and can either be hyphenated or non-hyphenated
+ Will contain the parsed UUID if successful,
+ otherwise null
+ True if the string was successfully parse, otherwise false
+ UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result)
-
+
- Convert this quaternion to euler angles
+ Combine two UUIDs together by taking the MD5 hash of a byte array
+ containing both UUIDs
- X euler angle
- Y euler angle
- Z euler angle
+ First UUID to combine
+ Second UUID to combine
+ The UUID product of the combination
-
+
- Convert this quaternion to an angle around an axis
+
- Unit vector describing the axis
- Angle around the axis, in radians
+
-
+
- Returns the conjugate (spatial inverse) of a quaternion
+ Return a hash code for this UUID, used by .NET for hash tables
+ An integer composed of all the UUID bytes XORed together
-
+
- Build a quaternion from an axis and an angle of rotation around
- that axis
+ Comparison function
+ An object to compare to this UUID
+ True if the object is a UUID and both UUIDs are equal
-
+
- Build a quaternion from an axis and an angle of rotation around
- that axis
+ Comparison function
- Axis of rotation
- Angle of rotation
+ UUID to compare to
+ True if the UUIDs are equal, otherwise false
-
+
- Creates a quaternion from a vector containing roll, pitch, and yaw
- in radians
+ Get a hyphenated string representation of this UUID
- Vector representation of the euler angles in
- radians
- Quaternion representation of the euler angles
+ A string representation of this UUID, lowercase and
+ with hyphens
+ 11f8aa9c-b071-4242-836b-13b7abe0d489
-
+
- Creates a quaternion from roll, pitch, and yaw euler angles in
- radians
+ Equals operator
- X angle in radians
- Y angle in radians
- Z angle in radians
- Quaternion representation of the euler angles
+ First UUID for comparison
+ Second UUID for comparison
+ True if the UUIDs are byte for byte equal, otherwise false
-
+
- Conjugates and renormalizes a vector
+ Not equals operator
+ First UUID for comparison
+ Second UUID for comparison
+ True if the UUIDs are not equal, otherwise true
-
+
- Spherical linear interpolation between two quaternions
+ XOR operator
+ First UUID
+ Second UUID
+ A UUID that is a XOR combination of the two input UUIDs
-
+
- Get a string representation of the quaternion elements with up to three
- decimal digits and separated by spaces only
+ String typecasting operator
- Raw string representation of the quaternion
-
-
- A quaternion with a value of 0,0,0,1
+ A UUID in string form. Case insensitive,
+ hyphenated or non-hyphenated
+ A UUID built from the string representation
-
- For thread safety
+
+ An UUID with a value of all zeroes
-
- For thread safety
+
+ A cache of UUID.Zero as a string to optimize a common path
-
+
- Purges expired objects from the cache. Called automatically by the purge timer.
+ A hierarchical token bucket for bandwidth throttling. See
+ http://en.wikipedia.org/wiki/Token_bucket for more information
-
-
- Attribute class that allows extra attributes to be attached to ENUMs
-
+
+ Parent bucket to this bucket, or null if this is a root
+ bucket
-
- Text used when presenting ENUM to user
+
+ Size of the bucket in bytes. If zero, the bucket has
+ infinite capacity
-
- Default initializer
+
+ Rate that the bucket fills, in bytes per millisecond. If
+ zero, the bucket always remains full
-
- Text used when presenting ENUM to user
+
+ Number of tokens currently in the bucket
-
+
+ Time of the last drip, in system ticks
+
+
- The different types of grid assets
+ Default constructor
+ Parent bucket if this is a child bucket, or
+ null if this is a root bucket
+ Maximum size of the bucket in bytes, or
+ zero if this bucket has no maximum capacity
+ Rate that the bucket fills, in bytes per
+ second. If zero, the bucket always remains full
-
- Unknown asset type
-
-
- Texture asset, stores in JPEG2000 J2C stream format
+
+
+ Remove a given number of tokens from the bucket
+
+ Number of tokens to remove from the bucket
+ True if the requested number of tokens were removed from
+ the bucket, otherwise false
-
- Sound asset
+
+
+ Remove a given number of tokens from the bucket
+
+ Number of tokens to remove from the bucket
+ True if tokens were added to the bucket
+ during this call, otherwise false
+ True if the requested number of tokens were removed from
+ the bucket, otherwise false
+
+
+
+ Add tokens to the bucket over time. The number of tokens added each
+ call depends on the length of time that has passed since the last
+ call to Drip
+
+ True if tokens were added to the bucket, otherwise false
+
+
+
+ The parent bucket of this bucket, or null if this bucket has no
+ parent. The parent bucket will limit the aggregate bandwidth of all
+ of its children buckets
+
+
+
+
+ Maximum burst rate in bytes per second. This is the maximum number
+ of tokens that can accumulate in the bucket at any one time
+
+
+
+
+ The speed limit of this bucket in bytes per second. This is the
+ number of tokens that are added to the bucket per second
+
+ Tokens are added to the bucket any time
+ is called, at the granularity of
+ the system tick interval (typically around 15-22ms)
+
+
+
+ The number of bytes that can be sent at this moment. This is the
+ current number of tokens in the bucket
+ If this bucket has a parent bucket that does not have
+ enough tokens for a request, will
+ return false regardless of the content of this bucket
+
+
+
+
+ A two-dimensional vector with floating-point values
+
+
+
+ X value
+
+
+ Y value
+
+
+
+ Test if this vector is equal to another vector, within a given
+ tolerance range
+
+ Vector to test against
+ The acceptable magnitude of difference
+ between the two vectors
+ True if the magnitude of difference between the two vectors
+ is less than the given tolerance, otherwise false
+
+
+
+ Test if this vector is composed of all finite numbers
+
+
+
+
+ IComparable.CompareTo implementation
+
+
+
+
+ Builds a vector from a byte array
+
+ Byte array containing two four-byte floats
+ Beginning position in the byte array
+
+
+
+ Returns the raw bytes for this vector
+
+ An eight-byte array containing X and Y
+
+
+
+ Writes the raw bytes for this vector to a byte array
+
+ Destination byte array
+ Position in the destination array to start
+ writing. Must be at least 8 bytes before the end of the array
+
+
+
+ Parse a vector from a string
+
+ A string representation of a 2D vector, enclosed
+ in arrow brackets and separated by commas
+
+
+
+ Interpolates between two vectors using a cubic equation
+
+
+
+
+ Get a formatted string representation of the vector
+
+ A string representation of the vector
+
+
+
+ Get a string representation of the vector elements with up to three
+ decimal digits and separated by spaces only
+
+ Raw string representation of the vector
+
+
+ A vector with a value of 0,0
+
+
+ A vector with a value of 1,1
+
+
+ A vector with a value of 1,0
+
+
+ A vector with a value of 0,1
+
+
+
+ Attribute class that allows extra attributes to be attached to ENUMs
+
+
+
+ Text used when presenting ENUM to user
+
+
+ Default initializer
+
+
+ Text used when presenting ENUM to user
+
+
+
+ The different types of grid assets
+
+
+
+ Unknown asset type
+
+
+ Texture asset, stores in JPEG2000 J2C stream format
+
+
+ Sound asset
Calling card for another avatar
@@ -2332,270 +2524,78 @@
Invalid wearable asset
-
-
- A thread-safe lockless queue that supports multiple readers and
- multiple writers
-
-
-
- Queue head
-
-
- Queue tail
-
-
- Queue item count
-
-
-
- Constructor
-
-
-
-
- Enqueue an item
-
- Item to enqeue
-
-
-
- Try to dequeue an item
-
- Dequeued item if the dequeue was successful
- True if an item was successfully deqeued, otherwise false
-
-
- Gets the current number of items in the queue. Since this
- is a lockless collection this value should be treated as a close
- estimate
-
-
-
- Provides a node container for data in a singly linked list
-
-
-
- Pointer to the next node in list
-
-
- The data contained by the node
-
-
-
- Constructor
-
-
-
-
- Constructor
-
-
-
-
- A 128-bit Universally Unique Identifier, used throughout the Second
- Life networking protocol
-
-
-
- The System.Guid object this struct wraps around
-
-
-
- Constructor that takes a string UUID representation
-
- A string representation of a UUID, case
- insensitive and can either be hyphenated or non-hyphenated
- UUID("11f8aa9c-b071-4242-836b-13b7abe0d489")
-
-
-
- Constructor that takes a System.Guid object
-
- A Guid object that contains the unique identifier
- to be represented by this UUID
-
-
-
- Constructor that takes a byte array containing a UUID
-
- Byte array containing a 16 byte UUID
- Beginning offset in the array
-
-
-
- Constructor that takes an unsigned 64-bit unsigned integer to
- convert to a UUID
-
- 64-bit unsigned integer to convert to a UUID
-
-
-
- Copy constructor
-
- UUID to copy
-
-
-
- IComparable.CompareTo implementation
-
-
-
-
- Assigns this UUID from 16 bytes out of a byte array
-
- Byte array containing the UUID to assign this UUID to
- Starting position of the UUID in the byte array
-
-
-
- Returns a copy of the raw bytes for this UUID
-
- A 16 byte array containing this UUID
-
-
-
- Writes the raw bytes for this UUID to a byte array
-
- Destination byte array
- Position in the destination array to start
- writing. Must be at least 16 bytes before the end of the array
-
-
-
- Calculate an LLCRC (cyclic redundancy check) for this UUID
-
- The CRC checksum for this UUID
-
-
-
- Create a 64-bit integer representation from the second half of this UUID
-
- An integer created from the last eight bytes of this UUID
-
-
-
- Generate a UUID from a string
-
- A string representation of a UUID, case
- insensitive and can either be hyphenated or non-hyphenated
- UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489")
-
-
-
- Generate a UUID from a string
-
- A string representation of a UUID, case
- insensitive and can either be hyphenated or non-hyphenated
- Will contain the parsed UUID if successful,
- otherwise null
- True if the string was successfully parse, otherwise false
- UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result)
-
-
-
- Combine two UUIDs together by taking the MD5 hash of a byte array
- containing both UUIDs
-
- First UUID to combine
- Second UUID to combine
- The UUID product of the combination
-
-
+
-
+ Same as Queue except Dequeue function blocks until there is an object to return.
+ Note: This class does not need to be synchronized
-
-
+
- Return a hash code for this UUID, used by .NET for hash tables
+ Create new BlockingQueue.
- An integer composed of all the UUID bytes XORed together
+ The System.Collections.ICollection to copy elements from
-
+
- Comparison function
+ Create new BlockingQueue.
- An object to compare to this UUID
- True if the object is a UUID and both UUIDs are equal
+ The initial number of elements that the queue can contain
-
+
- Comparison function
+ Create new BlockingQueue.
- UUID to compare to
- True if the UUIDs are equal, otherwise false
-
+
- Get a hyphenated string representation of this UUID
+ BlockingQueue Destructor (Close queue, resume any waiting thread).
- A string representation of this UUID, lowercase and
- with hyphens
- 11f8aa9c-b071-4242-836b-13b7abe0d489
-
+
- Equals operator
+ Remove all objects from the Queue.
- First UUID for comparison
- Second UUID for comparison
- True if the UUIDs are byte for byte equal, otherwise false
-
+
- Not equals operator
+ Remove all objects from the Queue, resume all dequeue threads.
- First UUID for comparison
- Second UUID for comparison
- True if the UUIDs are not equal, otherwise true
-
+
- XOR operator
+ Removes and returns the object at the beginning of the Queue.
- First UUID
- Second UUID
- A UUID that is a XOR combination of the two input UUIDs
+ Object in queue.
-
+
- String typecasting operator
+ Removes and returns the object at the beginning of the Queue.
- A UUID in string form. Case insensitive,
- hyphenated or non-hyphenated
- A UUID built from the string representation
-
-
- An UUID with a value of all zeroes
-
-
- A cache of UUID.Zero as a string to optimize a common path
+ time to wait before returning
+ Object in queue.
-
+
- Copy constructor
+ Removes and returns the object at the beginning of the Queue.
- Circular queue to copy
+ time to wait before returning (in milliseconds)
+ Object in queue.
-
+
- Determines the appropriate events to set, leaves the locks, and sets the events.
+ Adds an object to the end of the Queue
+ Object to put in queue
-
+
- A routine for lazily creating a event outside the lock (so if errors
- happen they are outside the lock and that we don't do much work
- while holding a spin lock). If all goes well, reenter the lock and
- set 'waitEvent'
+ Open Queue.
-
+
- Waits on 'waitEvent' with a timeout of 'millisceondsTimeout.
- Before the wait 'numWaiters' is incremented and is restored before leaving this routine.
+ Gets flag indicating if queue has been closed.
diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll
index 4d00d5e..49a0f3b 100755
Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ
--
cgit v1.1
From 709814c19438e279d58a9689b0b3a6f2b1989e34 Mon Sep 17 00:00:00 2001
From: dahlia
Date: Tue, 5 Nov 2013 23:38:43 -0800
Subject: add support for particle blending LSL functions
---
.../ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index e6ff75f..86e8200 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -6270,6 +6270,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
ps.BurstRate = 0.1f;
ps.PartMaxAge = 10.0f;
ps.BurstPartCount = 1;
+ ps.BlendFuncSource = ScriptBaseClass.PSYS_PART_BF_SOURCE_ALPHA;
+ ps.BlendFuncDest = ScriptBaseClass.PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA;
+
return ps;
}
@@ -6304,6 +6307,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
LSL_Vector tempv = new LSL_Vector();
float tempf = 0;
+ int tmpi = 0;
for (int i = 0; i < rules.Length; i += 2)
{
@@ -6362,7 +6366,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
break;
case (int)ScriptBaseClass.PSYS_SRC_PATTERN:
- int tmpi = (int)rules.GetLSLIntegerItem(i + 1);
+ tmpi = (int)rules.GetLSLIntegerItem(i + 1);
prules.Pattern = (Primitive.ParticleSystem.SourcePattern)tmpi;
break;
@@ -6382,6 +6386,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
prules.PartFlags &= 0xFFFFFFFD; // Make sure new angle format is off.
break;
+ case (int)ScriptBaseClass.PSYS_PART_BLEND_FUNC_SOURCE:
+ tmpi = (int)rules.GetLSLIntegerItem(i + 1);
+ prules.BlendFuncSource = (byte)tmpi;
+ break;
+
+ case (int)ScriptBaseClass.PSYS_PART_BLEND_FUNC_DEST:
+ tmpi = (int)rules.GetLSLIntegerItem(i + 1);
+ prules.BlendFuncDest = (byte)tmpi;
+ break;
+
case (int)ScriptBaseClass.PSYS_SRC_TEXTURE:
prules.Texture = ScriptUtils.GetAssetIdFromKeyOrItemName(m_host, rules.GetLSLStringItem(i + 1));
break;
--
cgit v1.1
From 0b4577d5b0b68e009d498c9ed27cd6cca9b7200f Mon Sep 17 00:00:00 2001
From: dahlia
Date: Tue, 5 Nov 2013 23:48:44 -0800
Subject: add support for particle glow LSL functions
---
.../Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 86e8200..5663048 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -6272,6 +6272,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
ps.BurstPartCount = 1;
ps.BlendFuncSource = ScriptBaseClass.PSYS_PART_BF_SOURCE_ALPHA;
ps.BlendFuncDest = ScriptBaseClass.PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA;
+ ps.PartStartGlow = 0.0f;
+ ps.PartEndGlow = 0.0f;
return ps;
}
@@ -6396,6 +6398,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
prules.BlendFuncDest = (byte)tmpi;
break;
+ case (int)ScriptBaseClass.PSYS_PART_START_GLOW:
+ tempf = (float)rules.GetLSLFloatItem(i + 1);
+ prules.PartStartGlow = (float)tempf;
+ break;
+
+ case (int)ScriptBaseClass.PSYS_PART_END_GLOW:
+ tempf = (float)rules.GetLSLFloatItem(i + 1);
+ prules.PartEndGlow = (float)tempf;
+ break;
+
case (int)ScriptBaseClass.PSYS_SRC_TEXTURE:
prules.Texture = ScriptUtils.GetAssetIdFromKeyOrItemName(m_host, rules.GetLSLStringItem(i + 1));
break;
--
cgit v1.1
From 52ff860f30a16f57408d372cda9280cf71a95e3d Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 6 Nov 2013 23:27:19 +0000
Subject: minor: Make PID file examples in OpenSim and Robust config somewhat
more meaningful than just /tmp/my.pid
---
bin/OpenSim.ini.example | 2 +-
bin/OpenSimDefaults.ini | 2 +-
bin/Robust.ini.example | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example
index b78e3b7..d3f9156 100644
--- a/bin/OpenSim.ini.example
+++ b/bin/OpenSim.ini.example
@@ -69,7 +69,7 @@
;# {PIDFile} {} {Path to PID file?} {}
;; Place to create a PID file
- ; PIDFile = "/tmp/my.pid"
+ ; PIDFile = "/tmp/OpenSim.exe.pid"
;# {region_info_source} {} {Where to load region from?} {filesystem web} filesystem
;; Determine where OpenSimulator looks for the files which tell it
diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini
index b56d5d1..ae7b794 100644
--- a/bin/OpenSimDefaults.ini
+++ b/bin/OpenSimDefaults.ini
@@ -21,7 +21,7 @@
crash_dir = "crashes"
; Place to create a PID file
- ; PIDFile = "/tmp/my.pid"
+ ; PIDFile = "/tmp/OpenSim.exe.pid"
; Console commands run at startup
startup_console_commands_file = "startup_commands.txt"
diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example
index 0660de4..f79059b 100644
--- a/bin/Robust.ini.example
+++ b/bin/Robust.ini.example
@@ -15,7 +15,7 @@
[Startup]
; Place to create a PID file
; If no path if specified then a PID file is not created.
- ; PIDFile = "/tmp/my.pid"
+ ; PIDFile = "/tmp/Robust.exe.pid"
; Plugin Registry Location
; Set path to directory for plugin registry. Information
--
cgit v1.1
From 3b2721c95726a6968a23b6d27d83769f03b987b0 Mon Sep 17 00:00:00 2001
From: dahlia
Date: Wed, 6 Nov 2013 19:13:41 -0800
Subject: update OpenMetaverse.dll to 7ae74674a09877119cbb4c80cbffea474e20da29
- addresses particle flags issue
---
bin/OpenMetaverse.dll | Bin 1806336 -> 1806336 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll
index a91670d..30ad7e5 100755
Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ
--
cgit v1.1
From 5cef8bf64ec3725788ca0ceb70395f8389e52e7c Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Fri, 8 Nov 2013 00:31:26 +0000
Subject: Make admin_save_oar request submit a request ID and log this for
tracking.
Previous behaviour of always logging 'name' is unhelpful since this actually an error message parameter which is only filled out if an error has occurred
---
.../RemoteController/RemoteAdminPlugin.cs | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs
index c78cf3b..8b66ee1 100644
--- a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs
+++ b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs
@@ -1408,7 +1408,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController
///
private void XmlRpcSaveOARMethod(XmlRpcRequest request, XmlRpcResponse response, IPEndPoint remoteClient)
{
- m_log.Info("[RADMIN]: Received Save OAR Administrator Request");
+ m_log.Info("[RADMIN]: Received Save OAR Request");
Hashtable responseData = (Hashtable)response.Value;
Hashtable requestData = (Hashtable)request.Params[0];
@@ -1454,8 +1454,14 @@ namespace OpenSim.ApplicationPlugins.RemoteController
if (archiver != null)
{
+ Guid requestId = Guid.NewGuid();
scene.EventManager.OnOarFileSaved += RemoteAdminOarSaveCompleted;
- archiver.ArchiveRegion(filename, options);
+
+ m_log.InfoFormat(
+ "[RADMIN]: Submitting save OAR request for {0} to file {1}, request ID {2}",
+ scene.Name, filename, requestId);
+
+ archiver.ArchiveRegion(filename, requestId, options);
lock (m_saveOarLock)
Monitor.Wait(m_saveOarLock,5000);
@@ -1476,12 +1482,16 @@ namespace OpenSim.ApplicationPlugins.RemoteController
throw e;
}
- m_log.Info("[RADMIN]: Save OAR Administrator Request complete");
+ m_log.Info("[RADMIN]: Save OAR Request complete");
}
private void RemoteAdminOarSaveCompleted(Guid uuid, string name)
{
- m_log.DebugFormat("[RADMIN]: File processing complete for {0}", name);
+ if (name != "")
+ m_log.ErrorFormat("[RADMIN]: Saving of OAR file with request ID {0} failed with message {1}", uuid, name);
+ else
+ m_log.DebugFormat("[RADMIN]: Saved OAR file for request {0}", uuid);
+
lock (m_saveOarLock)
Monitor.Pulse(m_saveOarLock);
}
--
cgit v1.1
From 626a050159e0eb3d3d12fee482f2c9280b1b2b4e Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Fri, 8 Nov 2013 00:34:35 +0000
Subject: minor: Make PID file example in Robust.HG.ini more meaningful as is
now the case in OpenSim and vanilla ROBUST config files
---
bin/Robust.HG.ini.example | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example
index 2ad262a..965e241 100644
--- a/bin/Robust.HG.ini.example
+++ b/bin/Robust.HG.ini.example
@@ -23,7 +23,7 @@
[Startup]
; Place to create a PID file
; If no path if specified then a PID file is not created.
- ; PIDFile = "/tmp/my.pid"
+ ; PIDFile = "/tmp/Robust.exe.pid"
; Plugin Registry Location
; Set path to directory for plugin registry. Information
--
cgit v1.1
From ea9e96dd50d22e5e1003b675c4148d59df7ec989 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Fri, 8 Nov 2013 21:13:05 +0000
Subject: Update OpenSimulator to use .NET 4.0
This allows region modules to register script functions that have more than a couple of arguments.
It also allows OpenSimulator code to use the feature and syntax additions that came with .NET 4.0
Windows users will need to install Microsoft .NET 4 framework if they have not done so already.
Windows C# Express 2010 also becomes the minimum IDE for build, so runprebuild.bat now generates a 2010 solution and runprebuild2010.bat goes away
Official minimum mono version becomes 2.10.8.1. OpenSimulator will probably work with 2.8 later but this is not guaranteed.
---
README.md | 4 +-
prebuild.xml | 200 ++++++++++++++++++++++++++--------------------------
runprebuild.bat | 24 ++++++-
runprebuild2010.bat | 2 -
4 files changed, 125 insertions(+), 105 deletions(-)
delete mode 100755 runprebuild2010.bat
diff --git a/README.md b/README.md
index 6309385..fb1e921 100644
--- a/README.md
+++ b/README.md
@@ -19,6 +19,8 @@ need to build OpenSim before running it.
You will need .NET Framework 3.5 installed to run OpenSimulator.
+You will need .NET 4.0 installed to run OpenSimulator.
+
We recommend that you run OpenSim from a command prompt on Windows in order
to capture any errors.
@@ -31,7 +33,7 @@ Now see the "Configuring OpenSim" section
# Running OpenSim on Linux
-You will need Mono >= 2.4.3 to run OpenSim. On some Linux distributions you
+You will need Mono >= 2.10.8.1 to run OpenSimulator. On some Linux distributions you
may need to install additional packages. See http://opensimulator.org/wiki/Dependencies
for more information.
diff --git a/prebuild.xml b/prebuild.xml
index a5357da..de3b89b 100644
--- a/prebuild.xml
+++ b/prebuild.xml
@@ -34,7 +34,7 @@
-
+
../../bin/
@@ -77,7 +77,7 @@
-
+
../../bin/
@@ -113,7 +113,7 @@
-
+
../../../bin/
@@ -141,7 +141,7 @@
-
+
../../../bin/
@@ -168,7 +168,7 @@
-
+
../../../../bin/
@@ -209,7 +209,7 @@
-
+
../../../bin/
@@ -236,7 +236,7 @@
-
+
../../../bin/
@@ -265,7 +265,7 @@
-
+
../../bin/
@@ -295,7 +295,7 @@
-
+
../../../../bin/
@@ -320,7 +320,7 @@
-
+
../../../../bin/
@@ -347,7 +347,7 @@
-
+
../../../../bin/
@@ -372,7 +372,7 @@
-
+
../../../../bin/
@@ -398,7 +398,7 @@
-
+
../../../../bin/
@@ -424,7 +424,7 @@
-
+
../../../bin/
@@ -457,7 +457,7 @@
-
+
../../../../bin/
@@ -485,7 +485,7 @@
-
+
../../../../bin/Physics/
@@ -508,7 +508,7 @@
-
+
../../../../bin/Physics/
@@ -531,7 +531,7 @@
-
+
../../../../bin/Physics/
@@ -561,7 +561,7 @@
-
+
../../../../bin/Physics/
@@ -592,7 +592,7 @@
-
+
../../bin/
@@ -627,7 +627,7 @@
-
+
../../../bin/
@@ -668,7 +668,7 @@
-
+
../../../bin/
@@ -721,7 +721,7 @@
-
+
../../../bin/
@@ -756,7 +756,7 @@
-
+
../../../bin/
@@ -783,7 +783,7 @@
-
+
../../../bin/
@@ -814,7 +814,7 @@
-
+
../../../bin/
@@ -845,7 +845,7 @@
-
+
../../../bin/
@@ -886,7 +886,7 @@
-
+
../../../bin/
@@ -918,7 +918,7 @@
-
+
../../../bin/
@@ -949,7 +949,7 @@
-
+
../../../bin/
@@ -981,7 +981,7 @@
-
+
../../../bin/
@@ -1013,7 +1013,7 @@
-
+
../../../bin/
@@ -1047,7 +1047,7 @@
-
+
../../../bin/
@@ -1078,7 +1078,7 @@
-
+
../../../bin/
@@ -1109,7 +1109,7 @@
-
+
../../../bin/
@@ -1144,7 +1144,7 @@
-
+
../../../bin/
@@ -1177,7 +1177,7 @@
-
+
../../../bin/
@@ -1215,7 +1215,7 @@
-
+
../../../bin/
@@ -1245,7 +1245,7 @@
-
+
../../../bin/
@@ -1281,7 +1281,7 @@
-
+
../../../bin/
@@ -1321,7 +1321,7 @@
-
+
../../../bin/
@@ -1362,7 +1362,7 @@
-
+
../../bin/
@@ -1398,7 +1398,7 @@
-
+
../../bin/
@@ -1431,7 +1431,7 @@
-
+
../../../bin/
@@ -1466,7 +1466,7 @@
-
+
../../../../../bin/
@@ -1512,7 +1512,7 @@
-
+
../../../../../bin/
@@ -1556,7 +1556,7 @@
-
+
../../../bin/
@@ -1623,7 +1623,7 @@
-
+
../../../bin/
@@ -1661,7 +1661,7 @@
-
+
../../../bin/
@@ -1719,7 +1719,7 @@
-
+
../../../bin/
@@ -1747,7 +1747,7 @@
-
+
../../../../bin/
@@ -1772,7 +1772,7 @@
-
+
../../../../bin/Physics/
@@ -1811,7 +1811,7 @@
-
+
../../../bin/
@@ -1856,7 +1856,7 @@
-
+
../../../bin/
@@ -1891,7 +1891,7 @@
-
+
../../../bin/
@@ -1921,7 +1921,7 @@
-
+
../../../bin/
@@ -1963,7 +1963,7 @@
-
+
../../../bin/
@@ -2000,7 +2000,7 @@
-
+
../../../bin/
@@ -2039,7 +2039,7 @@
-
+
../../../bin/
@@ -2073,7 +2073,7 @@
-
+
../../../bin/
@@ -2109,7 +2109,7 @@
-
+
../../../bin/
@@ -2151,7 +2151,7 @@
-
+
../../../../bin/
@@ -2188,7 +2188,7 @@
-
+
../../../../../../bin/
@@ -2221,7 +2221,7 @@
-
+
../../../../../../../bin/
@@ -2253,7 +2253,7 @@
-
+
../../../../../../bin/
@@ -2293,7 +2293,7 @@
-
+
../../../../../bin/
@@ -2324,7 +2324,7 @@
-
+
../../../../../bin/
@@ -2364,7 +2364,7 @@
-
+
../../../../../../bin/
@@ -2398,7 +2398,7 @@
-
+
../../../../bin/
@@ -2443,7 +2443,7 @@
-
+
../../../bin/
@@ -2494,7 +2494,7 @@
-
+
../../../bin/
@@ -2541,7 +2541,7 @@
-
+
../../../bin/
@@ -2592,7 +2592,7 @@
-
+
../../../bin/
@@ -2619,7 +2619,7 @@
-
+
../../../bin/
@@ -2646,7 +2646,7 @@
-
+
../../../bin/
@@ -2670,7 +2670,7 @@
-
+
../../../../bin/
@@ -2697,7 +2697,7 @@
-
+
../../../../bin/
@@ -2724,7 +2724,7 @@
-
+
../../../../bin/
@@ -2751,7 +2751,7 @@
-
+
../../../../bin/
@@ -2778,7 +2778,7 @@
-
+
../../../../bin/
@@ -2806,7 +2806,7 @@
-
+
../../../bin/
@@ -2853,7 +2853,7 @@
-
+
../../bin/
@@ -2876,7 +2876,7 @@
-
+