Commit Graph

45 Commits

Author SHA1 Message Date
Latif Khalifa
bbbbabdcba LIBOMV-959: Add LightImage ExtraParameter type suppport to primitives
Patch by: Frederick Martian
2013-03-08 22:49:11 +01:00
SignpostMarv
030284fc07 switching to an implicit cast as Vector3 to Vector3d results in no precision loss 2012-09-07 10:45:04 +01:00
SignpostMarv
112fd49427 since constructors support each other, adding explicit operators for minor reduction in typing required 2012-09-06 12:00:58 +01:00
Douglas R. Miles
5db917002b Allow user code to turn on string interning 2012-06-03 23:10:08 -07:00
Latif Khalifa
51f3b2fbaf Typofix
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3601 52acb1d6-8a22-11de-b505-999d5b087335
2012-03-18 00:19:48 +00:00
Latif Khalifa
7552306666 Added couple of new system folder types
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3600 52acb1d6-8a22-11de-b505-999d5b087335
2012-03-18 00:12:21 +00:00
Latif Khalifa
5d79f55559 Added Neck and Root attachment points to the enum (RAD-313)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3591 52acb1d6-8a22-11de-b505-999d5b087335
2011-10-28 20:35:52 +00:00
Latif Khalifa
e3f5212f42 Added PrimType.Mesh
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3563 52acb1d6-8a22-11de-b505-999d5b087335
2011-07-27 22:21:47 +00:00
Latif Khalifa
b0ffd2f70a Mesh data still comes in sculpt format, but different ExtraParamType
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3560 52acb1d6-8a22-11de-b505-999d5b087335
2011-07-21 03:13:01 +00:00
Latif Khalifa
d471ecbbb6 LIBOMV-906: [PATCH] Support for avatar physics
Patch by Tim Hart
(Modified slightly not to send physics params if no physical wearable is worn)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3542 52acb1d6-8a22-11de-b505-999d5b087335
2011-05-24 00:58:42 +00:00
Latif Khalifa
0dd3773031 LIBOMV-903: Handle ObjectPhysicsProperties Event Queue Message
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3533 52acb1d6-8a22-11de-b505-999d5b087335
2011-05-20 09:26:13 +00:00
Latif Khalifa
1d3ee7537f Reverse order of arguments in quaternion multiplication in order to bring it in line with BulletX physics engine and Unity3D (it's reversed in LSL). Also should fix breakage in code that depends on this ordering like Opensim.
TODO: comprehensive test suite for quaternion math

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3462 52acb1d6-8a22-11de-b505-999d5b087335
2010-10-29 05:11:35 +00:00
John Hurliman
968c6fb1cd * Added unit tests for Vector3.ApproxEquals()
* Fixed a bug in Utils.BytesToInt64() not handling non-zero pos values

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3445 52acb1d6-8a22-11de-b505-999d5b087335
2010-10-01 00:22:06 +00:00
John Hurliman
e695ec4018 * Thank you lkalif for a new implementation of Quaternion.GetEulerAngles()
* Fixed the broken quaternion multiplication operators
* Added OAR XML prim loading to PrimWorkshop

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3434 52acb1d6-8a22-11de-b505-999d5b087335
2010-08-19 22:26:04 +00:00
John Hurliman
cd2f33e653 * Added Utils.UInt64ToBytesBig()
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3422 52acb1d6-8a22-11de-b505-999d5b087335
2010-08-13 23:51:06 +00:00
John Hurliman
dfd53af1f3 * Fixed the ExpiringCache collection to remove an ambiguity of whether to use local timezone expiration dates or UTC expiration dates. Expiration time is now passed in as the number of seconds relative to the current time
* Minor performance improvement in ExpiringCache to avoid instantiating a List<> every time the cache purge timer runs

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3421 52acb1d6-8a22-11de-b505-999d5b087335
2010-08-13 23:06:35 +00:00
John Hurliman
dcfb27288a * Fix packet sending to only send ACKs for incoming packets marked as reliable, not every incoming packet
* Fixed a bug in ACK sending that was eating up CPU time
* Put the final UDP packets on the wire synchronously instead of asynchronously. Profiling showed this to be faster than .NET 2.0 style asynchronous sending (although possibly still slower than .NET 3.5 style asynchronous sending)
* Small tweak to LocklessQueue to try and keep LocklessQueue.Count as accurate as possible

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3417 52acb1d6-8a22-11de-b505-999d5b087335
2010-08-12 19:20:37 +00:00
John Hurliman
2ebc810d72 * Finished OAR file loading
* Small performance optimization in JsonMapper.cs
* Added message definitions for new capabilities
* Added (currently unused) new enum values
* Updated to a more recent version of log4net.dll

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3397 52acb1d6-8a22-11de-b505-999d5b087335
2010-07-26 18:01:40 +00:00
Latif Khalifa
81d75c6ecd LIBOMV-830: Adds a try/catch to DoubleDictionary.FindValue() (jurliman)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3330 52acb1d6-8a22-11de-b505-999d5b087335
2010-05-06 23:31:01 +00:00
John Hurliman
94f830b9d9 * Cleaned up the LocklessQueue implementation, removed the unsafe Clear() method, and added documentation
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3296 52acb1d6-8a22-11de-b505-999d5b087335
2010-04-01 01:07:50 +00:00
Latif Khalifa
2259689a1f * Moved primitive related enums over to types
* Added EnumInfoAttribute class to specify extra attributes for enums
* Added EnumInfoAttribute.Text attributes to AttachmentPoint enum
* Added Utils.EnumToText() that will return EnumInfoAttribute.Text for a given enum value
* Added Utils.StringToAttachmentPoint() that converts AttachmentPoint string returned in LLSD to AttachmentPoint enum

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3292 52acb1d6-8a22-11de-b505-999d5b087335
2010-03-31 02:10:59 +00:00
Latif Khalifa
72ae1b72bd Added new asset types (LIBOMV-793)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3256 52acb1d6-8a22-11de-b505-999d5b087335
2010-02-26 09:33:42 +00:00
Latif Khalifa
99d2241774 Added new wearable types types (LIBOMV-793)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3255 52acb1d6-8a22-11de-b505-999d5b087335
2010-02-26 09:12:09 +00:00
Latif Khalifa
72ee5a9e46 Add new folder types (LIBOMV-793)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3254 52acb1d6-8a22-11de-b505-999d5b087335
2010-02-26 09:03:11 +00:00
John Hurliman
e78f2e8b66 Attempting a fix for the previous commit
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3186 52acb1d6-8a22-11de-b505-999d5b087335
2009-10-29 06:42:40 +00:00
John Hurliman
122c063994 Cache UUID.Zero.ToString() to avoid a common string creation
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3185 52acb1d6-8a22-11de-b505-999d5b087335
2009-10-29 06:28:31 +00:00
John Hurliman
dbd8e0aa8a * Added Quaternion.ApproxEquals()
* Slight speed improvement to all of the ApproxEquals() functions by avoiding Math.Sqrt()

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3184 52acb1d6-8a22-11de-b505-999d5b087335
2009-10-28 20:51:48 +00:00
Latif Khalifa
9f18df9d76 LIBOMV-733: Make sure components parts are within 0-1 range
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3183 52acb1d6-8a22-11de-b505-999d5b087335
2009-10-28 10:07:13 +00:00
John Hurliman
e2aa580f7e Basic sanity checking in UUID.TryParse() to avoid throwing and catching exceptions for most failed parses. Improves the speed of UUID.TryParse() when false is returned
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3179 52acb1d6-8a22-11de-b505-999d5b087335
2009-10-27 18:34:15 +00:00
John Hurliman
8e3d1bb711 * Minor adjustment in CSJ2K to dispose MemoryStreams when it creates them
* Replaced all Packet field properties with simple class members. Big internal change but no API difference
* TextureEntry GetBytes() now disposes the MemoryStream it creates
* Added LocklessQueue.Count and LocklessQueue.Clear()

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3169 52acb1d6-8a22-11de-b505-999d5b087335
2009-10-24 07:10:47 +00:00
John Hurliman
04f920aea9 * Helpers.GetResourceStream() now uses the executable directory + openmetaverse_data as the path for finding resources instead of current directory + openmetaverse_data
* Added add, subtract, multiply operators to Color4
* Switched baking to use Color4 instead of System.Drawing.Color
* Untested implementation of multiply and add color operations in baking

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3077 52acb1d6-8a22-11de-b505-999d5b087335
2009-08-12 06:11:36 +00:00
John Hurliman
41b7ad90c1 Added Color4.Lerp()
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3076 52acb1d6-8a22-11de-b505-999d5b087335
2009-08-12 05:22:47 +00:00
John Hurliman
79684bd8eb Added an overload to AssetManager.RequestAsset() that takes a transactionID
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3044 52acb1d6-8a22-11de-b505-999d5b087335
2009-07-31 23:23:14 +00:00
John Hurliman
6bb96a6e28 Improved OpenMetaverse.Parallel by only using a single AutoResetEvent per loop (fewer context switches into kernel space) and allowing exceptions in method bodies to propagate back to the caller
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3043 52acb1d6-8a22-11de-b505-999d5b087335
2009-07-31 22:39:37 +00:00
John Hurliman
c1bc0b4af6 * Moved OpenMetaverse/Resources to bin/openmetaverse_data until we have a working xbuild and reorganize SVN
* Complete rewrite of AppearanceManager. Appearance editing has not been (re)implemented yet, but the normal appearance setting is much more reliable
* Added a setting (defaulted to true) for automatically setting appearance
* Various baking hacks to get slightly less ugly avatars
* Added baked texture uploading through CAPS in AssetManager.RequestUploadBakedTexture(). UDP fallback is not implemented yet
* Added Parallel.Invoke() and overloads for all three methods that take a threadCount

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3038 52acb1d6-8a22-11de-b505-999d5b087335
2009-07-31 17:43:01 +00:00
John Hurliman
68b1bc1ef7 Initial commit of OpenMetaverse.Parallel in OpenMetaverseTypes.dll. This adds Parallel.For() and Parallel.ForEach() static methods that behave similar to the new parallel extensions in C# 4.0
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3035 52acb1d6-8a22-11de-b505-999d5b087335
2009-07-30 21:33:28 +00:00
John Hurliman
de9f01f882 * Changing RegionInfo.Capabilities from Dictionary<string, Uri> to Dictionary<Uri, Uri> since all service methods use full URI identifiers now
* Added Utils.HostnameToIPv4() to OpenMetaverseTypes.dll

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2900 52acb1d6-8a22-11de-b505-999d5b087335
2009-06-17 00:52:39 +00:00
John Hurliman
c7292118b1 * Adding SHA256 methods to OpenMetaverseTypes
* Implementing CreateAssetMessage and CreateAssetReplyMessage in Cable Beach messages

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2880 52acb1d6-8a22-11de-b505-999d5b087335
2009-06-13 00:27:54 +00:00
John Hurliman
93a7cc5767 Rewrote the locking in ExpiringCache to use a simple Monitor instead of ReaderWriterLock, since nearly every access is a write operation. This also gets rid of a bug where a writer lock was not properly freed in ExpiringCache.TryGetValue()
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2874 52acb1d6-8a22-11de-b505-999d5b087335
2009-06-10 06:49:52 +00:00
John Hurliman
bb68819d3f Removing CircularHashedQueue since 1) the implementation was wrong, 2) it was highly specific to a single task in ACK management and not a generally useful collection
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2774 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-16 10:55:19 +00:00
John Hurliman
30e17756d0 * Adding try/finally blocks for every lock acquisition in DoubleDictionary to keep exceptions from putting the collection in an inconsistent state
* Removed [] get accessors until someone can demonstrate thread-safe code that uses them (they encourage non-threadsafe code patterns)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2773 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-16 09:28:03 +00:00
John Hurliman
2520b6d0ea * Adding a LocklessQueue collection to OpenMetaverseTypes
* Fixing minor compile warnings

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2772 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-16 09:12:12 +00:00
John Hurliman
ef072802d4 Changed DoubleDictionary to use ReaderWriteLockSlim
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2771 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-16 02:00:11 +00:00
John Hurliman
8014afcc3e * Added ReaderWriterLockSlim.cs to OpenMetaverseTypes from the Mono SVN
* Prebuild will now define the VISUAL_STUDIO symbol in .csproj files while leaving NAnt files alone
* A conditional was added to use the .NET ReaderWriterLockSlim for VS compiles and the one in OpenMetaverseTypes for Mono compiles. This is a kludge until everyone is running Mono 2.6 or later (hah)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2769 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-16 01:34:41 +00:00
John Hurliman
ad102f3ea9 Moving OpenMetaverseTypes library to its own folder. This will save a lot of prebuild headaches
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2744 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-11 19:28:50 +00:00