Commit Graph

48 Commits

Author SHA1 Message Date
John Hurliman
3818fb2428 * Fixed a bug where the new server-side PrimFlags values were overlapping with existing values
* Added more documentation to TokenBucket

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2558 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-31 18:28:02 +00:00
John Hurliman
42cc1ee3b7 * Fixed a bug converting an empty OSD element to a Uri
* Lock the old CircularQueue in the CircularQueue copy constructor

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2543 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-26 05:13:07 +00:00
John Hurliman
21de923e42 * Added CircularHashedQueue to OpenMetaverseTypes. Provides a circular queue with a hash-based Contains function, useful for ACK accounting (not implemented in libomv yet)
* Added TokenBucket to OpenMetaverseTypes. Provides a hierarchical token bucket for bandwidth throttling (not implemented in libomv yet)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2542 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-26 04:29:17 +00:00
Jim Radford
d98e36491f Fixes several comment warnings
Re-enables <nowarn> element when compiling with nant (re-added code to prebuild to support this)
Update prebuild binary to fixed version

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2528 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-21 17:28:17 +00:00
John Hurliman
26e0e50615 * Fixed two failing OSD tests. OSDReal.AsString() now uses a slower but more accurate method to produce values that will always round-trip. A random "B" character was removed from the XmlSD DeserializeLLSDSample() test
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2508 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-19 18:15:49 +00:00
John Hurliman
46450da1ee * Reverts an accidental change to Utils.IntToBytes()
* Adds Utils.IntToBytesBig and Utils.DoubleToBytesBig()
* OSD.AsBinary() functions use big-endian functions where necessary

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2507 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-19 17:57:12 +00:00
Jim Radford
fb6376d2b6 LIBOMV-460 LIBOMV-423 BinaryLLSD Unit Tests Failing, this appears to be caused by an Endian issue
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2506 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-19 17:19:23 +00:00
Latif Khalifa
627e0dbef7 * Added DoubleDictionary.FindAll and DoubleDictionary.RemoveAll
[Simian]
* Fixed several Periscope regressions
* OAR file writing works now (from Periscope only, this will change soon)
* Added /objectkill [on/off] to Periscope, useful when saving OAR files
* Fixed miscellaneous issues (mostly with adding/removing agents in a scene)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2481 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-11 20:38:35 +00:00
John Hurliman
342008176e [Simian]
* Added IPhysicsProvider.TimeDilation (not functional yet)
* Completed ObjectUpdateCompressed implementation

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2479 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-10 18:40:11 +00:00
John Hurliman
8106fccdd2 * Changed Primitive.TextureEntry.ToBytes() to GetBytes() to follow naming conventions
* Added Primitive.TreeSpecies and Primitive.ScratchPad
* Converted Primitive.SoundFlags to the new SoundFlags enum
* Added a Utils.BytesToString() overload that accepts index and count parameters
* Added Utils.FloatToUInt16()
[Simian]
* Lots of changes in Simian to use the new unified ISceneProvider.ObjectAddOrUpdate() function
* Update flags are checked to determine the minimum sized packet that needs to be sent out for an update. ImprovedTerseObjectUpdate is working, and started work on ObjectUpdateCached (updates using this will currently not send)
* Adding three new variables to SimulationObject to store attachment-related state

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2478 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-10 01:54:45 +00:00
John Hurliman
ac354b5fb0 * Cleaned up GetBytes/ToBytes in OMV types to eliminate duplicate code
* Fixed a typo in the previous commit for Utils.EmptyBytes
* Switched _Packets_.cs over to the new ToBytes() functions, should significantly reduce the number of temporary byte arrays allocated

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2471 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-06 01:55:22 +00:00
John Hurliman
3ad7551a4a * Added Utils.EmptyBytes which is equal to new byte[0] and replaced all references of new byte[0] to Utils.EmptyBytes
* Added a CRC32 implementation to OpenMetaverseTypes.dll
* Added ToBytes() functions to most of the OMV types for writing bytes into an existing byte array

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2470 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-06 01:32:02 +00:00
John Hurliman
12375d40e9 * Added a server-side flag, ChatType.RegionSay
* AppearanceManager.AddAttachments() now uses the attachment point specified in the inventory item
* Completed the PrimFlags enum by filling in placeholders and inventing our own server-side flags (do not use the placeholder values, they will change)
* Added DoubleDictionary.FindValue()
* Added a random number function, SwapWords(), and SHA1/MD5 hash string functions to Utils

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2461 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-02 22:49:25 +00:00
John Hurliman
939d120059 * Added a CircularQueue to OpenMetaverseTypes
[Simian]
* Fixed a regression with ViewerEffect packet handling
* Added undo and redo support
* Changed ISceneProvider interfaces to be more consistent and avoid duplicate lookups
* Attempting to unify avatar and prim handling by storing agents as both a SimulationObject and an Agent in the scene
* Comment out noisy resend logging and catch broken packets in the resend queue
* Improved the README
* Avoid generating two meshes when a world-transformed mesh is generated (are these even necessary?)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2456 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-25 20:32:48 +00:00
John Hurliman
fdc04a5e1d [LIBOMV-445] Applying patch from DrScofield to correct BytesToFloat() and BytesToDouble() in OpenMetaverseTypes.dll on little endian architecture
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2439 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-17 18:40:57 +00:00
John Hurliman
54c4ae80fd * Default Primitive.Rotation to Quaternion.Identity
* Quaternion.Conjugate() was accidentally set private, fixed
[Simian]
* Move login code to LindenLogin extension
* Move avatar tracking to ISceneProvider (Simian class is now "pure" and contains no implementation code)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2421 52acb1d6-8a22-11de-b505-999d5b087335
2009-01-30 19:24:38 +00:00
John Hurliman
31503a5ef5 Fixed Utils.UnixTimeToDateTime() when an int is passed in instead of a uint
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2407 52acb1d6-8a22-11de-b505-999d5b087335
2009-01-07 22:35:58 +00:00
a37f43e09f Re-added Vector3.Mag (where did it go anyway?)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2396 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-21 22:56:27 +00:00
John Hurliman
ee6211550e * Initial commit of Periscope, an experimental Simian plugin that uses a libomv bot to proxy a foreign simulator
* Small cleanups and bugfixes in Simian

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2382 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-16 08:43:27 +00:00
John Hurliman
94ea54bed6 * Changed EventQueueServer to always obey the KeepAlive setting requested by the client
* Added (very slow, O(n)) DoubleDictionary.Remove(TKey1) and DoubleDictionary.Remove(TKey2) functions

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2381 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-15 21:05:50 +00:00
John Hurliman
7f8cffafd2 * Moved BlockingQueue, DoubleDictionary, and ExpiringCache into OpenMetaverseTypes.dll
* First attempt at an EventQueueServer implementation, untested
* Implemented a capabilities server that can route capabilities to local callbacks or remote URIs
* Modified HttpServer.HttpRequestCallback to return a bool: true to close the connection, false to leave it open
* Removed all locks from HttpServer and added try/catch around HttpListenerContext operations
* Added Color4.FromHSV()

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2379 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-15 19:13:24 +00:00
John Hurliman
66669a773c * Added method to serialize OSD to a JsonWriter
* Added more OSD.As*() functions to match the OSD.From*() functions
* Added more Utils.BytesTo*() functions

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2376 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-10 02:54:50 +00:00
John Hurliman
61c8451fac * Allow HttpServer AddHandler() and RemoveHandler() while the server is running
* Simplified HttpServer calback exception handling
* Fixed a recently introduced typo in LLSD binary serialization
* Allow LLSD binary serialization to work with any Stream instead of only MemoryStream
* Improved Utils.HexStringToBytes(), changed function signature
* Added an efficient Utils.EnumTryParse<T>()

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2323 52acb1d6-8a22-11de-b505-999d5b087335
2008-11-05 01:50:24 +00:00
John Hurliman
bad3108ddf * Renamed LLSD to OSD. The LLSD-specific (de)serialization functions have been renamed to specify they use LLSD. Other serialization formats will be added in the future, along with better native support for vectors and unsigned integers
* Added Utils.SHA1()

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2321 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-30 01:50:59 +00:00
John Hurliman
0169177c99 * HttpServer fix for when a handler throws an exception but has already closed the response connection
* UUID.TryParse() on a null or empty string will now return false

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2275 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-07 20:07:24 +00:00
bec96bc6a4 Fixed some param names in function documentation for ParcelManager.cs and UtilsConversions.cs
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2273 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-07 13:20:35 +00:00
John Hurliman
28d7cbeb07 * Big cleanup of UtilsConversions.cs, added functions to go straight from data types to an existing byte array
* Changed _Packets_.cs to use Utils functions for going to and from bytes

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2271 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-07 03:04:03 +00:00
John Hurliman
3e5fcb7fab * Moving conversion functions from Helpers to Utils (in OpenMetaverseTypes)
* Added GetLLSD() and FromLLSD() to Permissions
* Started on inventory persistence for Simian

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2267 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-06 22:34:38 +00:00
John Hurliman
f8d777b6a6 * Adding more conversion helpers to Helpers, these should always be used in place of BitConverter calls
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2266 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-06 21:46:02 +00:00
John Hurliman
2582304f4e * OnImageReceiveProgress now returns the packet number it just received
* Texture re-request timer will now reduce the DiscardLevel by one each re-request. This is temporary while we re-think the callback system for texture downloads
* TestClient downloadtexture now takes an optional DiscardLevel
* Added int support to Utils.Clamp()

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2246 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-29 13:58:08 +00:00
John Hurliman
48aa4a6c19 * Encode uints as LLSDBinary instead of LLSDInteger so high values can be properly stored
* Added LLSD.ToObject() that does the opposite of LLSD.FromObject()
* Added LLSD.SerializeMembers() and LLSD.DeserializeMembers() to allow automatic serialization of simple container objects
* Fixed Utils.BytesToHexString() to not output trailing whitespace

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2236 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-23 23:26:39 +00:00
John Hurliman
8e70446f3c * Added Utils.CopyBytes() to OpenMetaverseTypes, should be used any time a byte array is grabbed from a packet member and directly assigned to another variable
* Moved Simulator enums (RegionFlags and SimAccess) into the main OpenMetaverse namespace
* More comments

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2233 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-22 15:05:14 +00:00
John Hurliman
25fbd86836 Fixed Vector2.DistanceSquared() in OpenMetaverseTypes, thank you Francis
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2213 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-12 18:40:18 +00:00
John Hurliman
4f94adf5ec * IMPORTANT OpenMetaverseTypes CHANGE! Changed string to UUID typecast operator from implicit to explicit. This prevents accidents like "if (myUUID == null)" from compiling
* Added ImageCodec enum

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2209 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-10 18:42:11 +00:00
John Hurliman
082bdf50ef Removing conversionBuffer caching from OpenMetaverseTypes to avoid interop issues and save memory for the 99.9% use case
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2187 52acb1d6-8a22-11de-b505-999d5b087335
2008-08-29 23:11:57 +00:00
John Hurliman
5144fd6b32 * Added a null check in Utils.StringToBytes()
* Corrected Z position in Simian ObjectAddHandler

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2176 52acb1d6-8a22-11de-b505-999d5b087335
2008-08-27 23:41:25 +00:00
John Hurliman
07754f7016 OpenMetaverse:
* LLObject is gone, it is now merged into Primitive
* Avatar inherits from Primitive
Simian:
* Added SimulationObject to track prims
* Added IMeshingProvider and a connector to OpenMetaverse.Rendering plugins

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2161 52acb1d6-8a22-11de-b505-999d5b087335
2008-08-24 05:06:51 +00:00
John Hurliman
09582ed2b9 * Fixing several places where BytesToUIntBig() was being used because the endian order was wrong in that function. Now that the function is fixed, those places have been converted to using BytesToUInt()
* Implemented Utils.HexStringToBytes()

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2145 52acb1d6-8a22-11de-b505-999d5b087335
2008-08-21 20:01:16 +00:00
5eb3707804 Fixed terrain affecting Simian movement speed while flying, merged Chat extension into new Messaging extension, fixed resend timer not cleaning up when avatars are removed, fixed some xml comments
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2136 52acb1d6-8a22-11de-b505-999d5b087335
2008-08-21 08:36:37 +00:00
John Hurliman
cfb75b85b0 * Fixed mapgenerator bug caused by types name change
* Fixed mapgenerator bug causing all packets to default to Unencoded
* Added Helpers.BytesToInt()
* Fixed endian problem in Helpers.BytesToUIntBig()
* Fixed LoginResponseData.ToXmlRpc() to return non-broken inventory skeleton
* Added EstateAssetType and TransferError enums
* Changed an Asset constructor to also take an AssetID

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2124 52acb1d6-8a22-11de-b505-999d5b087335
2008-08-20 22:46:28 +00:00
John Hurliman
ce77395ccf * Fixed an MD5Builder locking problem in Utils that was affecting UUID.Combine()
* Big-endian fix for converting a ulong to a UUID
* Fixed incorrect math in UUID.GetULong()

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2122 52acb1d6-8a22-11de-b505-999d5b087335
2008-08-19 23:18:21 +00:00
John Hurliman
91dccb39d8 Fixing Utils.Clamp() documentation
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2083 52acb1d6-8a22-11de-b505-999d5b087335
2008-08-12 23:03:47 +00:00
John Hurliman
99239ebcfc * Splits libomv into OpenMetaverseTypes.dll and OpenMetaverse.dll
* All MathUtils and non-SL-specific Helpers functions have been put in OpenMetaverseTypes.dll inside the Utils class. Helpers only contains SL-specific functions now
* LLSD encoding/decoding for custom types has been moved out of the types and implemented as static functions in the LLSD class

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2082 52acb1d6-8a22-11de-b505-999d5b087335
2008-08-12 22:38:02 +00:00
John Hurliman
4f48022d1a * Adding simple Ray type (origin vector plus direction vector)
* Fixed TextureEntryFace constructor to default to white and no transparency

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2075 52acb1d6-8a22-11de-b505-999d5b087335
2008-08-07 23:00:02 +00:00
John Hurliman
7e38eb9019 Fail-bug in Vector3 * Quaternion operator
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2074 52acb1d6-8a22-11de-b505-999d5b087335
2008-08-06 00:05:48 +00:00
John Hurliman
5523e50ec4 Fixing Vector*.Normalize(Vector*.Zero) to not return NaN
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2073 52acb1d6-8a22-11de-b505-999d5b087335
2008-08-05 23:26:48 +00:00
John Hurliman
d27fd88c64 * Removing old openjpeg-libsl.dll
* Adding Helpers.FieldToHexString() overload that matches the old function signature
* Added Quaternion.GetAxisAngle()
* Remove TestClient's own inventory stores since they are in libomv now

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2071 52acb1d6-8a22-11de-b505-999d5b087335
2008-08-05 22:36:47 +00:00
John Hurliman
15f3865b82 * Reimplemented all basic types and moved them to a separate folder (NOT separate namespace). Lots more functions, couple breaking changes. Matrix3 is gone
* Moved math functions from Helpers to new MathHelper static class

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2045 52acb1d6-8a22-11de-b505-999d5b087335
2008-08-01 20:22:22 +00:00