Commit Graph

57 Commits

Author SHA1 Message Date
Latif Khalifa
fc4ecce4a1 Decoding/Encoding of MaterialID in TextureEntry 2013-04-13 05:01:00 +02:00
Latif Khalifa
bbbbabdcba LIBOMV-959: Add LightImage ExtraParameter type suppport to primitives
Patch by: Frederick Martian
2013-03-08 22:49:11 +01:00
Douglas R. Miles
00b363a4d3 Added two new boolean Client.Settings that can turn on Pooling: CACHE_PRIMITIVES and POOL_PARCEL_DATA .. set to their defaults they makes no change to libomv 2012-06-05 14:09:33 -07:00
Latif Khalifa
55b59bccea LIBOMV-921: IsAttachment Should be Preserved as Primitive Member
Patch by Bennett Goble

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3574 52acb1d6-8a22-11de-b505-999d5b087335
2011-08-08 21:36:24 +00:00
Latif Khalifa
a9a0d45825 Added GetHashCode() override to prims's ConstuctionData
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3564 52acb1d6-8a22-11de-b505-999d5b087335
2011-07-27 23:00:39 +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
5a37c431fa Made TextureEntryFace cloneable
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3561 52acb1d6-8a22-11de-b505-999d5b087335
2011-07-25 17:41:51 +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
b942a52ee5 Added Tag to Primitive for use with client application akin to Control.Tag property of winforms.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3554 52acb1d6-8a22-11de-b505-999d5b087335
2011-07-09 12:53:05 +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
8184902654 LIBOMV-845: SDToPrimList zeroes fields for Sculpt, Light, Texture, yet Primitive.GetExtraParamsBytes expects null
Patch by Tim Hart

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3501 52acb1d6-8a22-11de-b505-999d5b087335
2011-04-22 03:42:06 +00:00
Latif Khalifa
d51de2105e LIBOMV-812: Added LocalID and ID fields to Getosd() / Fromosd() functions of class primitive
Suggested by Lucius Sirnah

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3472 52acb1d6-8a22-11de-b505-999d5b087335
2010-11-20 14:07:12 +00:00
Latif Khalifa
4380ead23b LIBOMV-844: Fields "LocalId" and "PCode" in a Primitive object are not preserved after OSD serialization/deserialization
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3471 52acb1d6-8a22-11de-b505-999d5b087335
2010-11-20 13:55:17 +00:00
Latif Khalifa
2badd305a4 LIBOMV-880: Primitive.SculptData.GetBytes() does not take Mirror and Inverse into account
Patch by Tim 't Hart

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3464 52acb1d6-8a22-11de-b505-999d5b087335
2010-11-02 08:19:35 +00:00
Latif Khalifa
11121100cb LIBOMV-858: MediaPermission enum needs to be treated as bitfield
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3378 52acb1d6-8a22-11de-b505-999d5b087335
2010-07-22 17:55:42 +00:00
John Hurliman
64f990fa38 * Fixed JSON serialization for null/undefined values
* Added MappingType.Spherical and MappingType.Cylindrical enum values

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3361 52acb1d6-8a22-11de-b505-999d5b087335
2010-06-05 14:12:24 +00:00
John Hurliman
de2a49dddf First round of memory improvements!
* Disable TRACK_UTILIZATION by default
* Ignore Primitive.ScratchPad and always set it to Utils.EmptyBytes. This field is deprecated on the SL grid and there are better ways to extend the protocol for non-SL grids
* More graceful handling of corrupted wearables
* Free up memory after baking

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3297 52acb1d6-8a22-11de-b505-999d5b087335
2010-04-20 21:58:23 +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
John Hurliman
5b6a86d518 * Fixed OAR loading of linkset assets
* Added a helper method to convert from the OAR-loaded PrimObject to OpenMetaverse.Primitive
* Added a basic sanity check to TextureEntry.FromBytes() for TEs less than 16 bytes

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3288 52acb1d6-8a22-11de-b505-999d5b087335
2010-03-21 01:49:57 +00:00
Latif Khalifa
d54194a56b LIBOMV-801: Added GetOSD() and FromOSD() functions to Avatar object and all subclasses. Patch by John R. Sohn
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3272 52acb1d6-8a22-11de-b505-999d5b087335
2010-03-12 23:31:50 +00:00
Latif Khalifa
eb82abedf4 Added RequestObjectMedia() for getting object media details. Unable to test since the required cap is never granted to libomv.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3267 52acb1d6-8a22-11de-b505-999d5b087335
2010-03-07 19:58:06 +00:00
Latif Khalifa
9b53a5ae7b LIBOMV-803: Added support for the new messages used for media on a prim
Allow packet decoder to cope with nulls in arrays

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3265 52acb1d6-8a22-11de-b505-999d5b087335
2010-03-07 14:42:52 +00:00
John Hurliman
66e1017103 * Initial implementation of the J2KEncoder class. Currently, it only supports lossy single layer RGB textures
* Breaking change to the OSD format for permissions. The field naming convention has been corrected to match the rest of the OSD serialization methods
* Added serialization support to ParticleSystem
* Finished TextureEntry serialization support

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3242 52acb1d6-8a22-11de-b505-999d5b087335
2010-01-06 23:45:43 +00:00
Latif Khalifa
356c523cff LIBOMV-743: Avoid nuking existing attributes when SetExtraParamsFromBytes() is called. Patch by Douglas R. Miles
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3210 52acb1d6-8a22-11de-b505-999d5b087335
2009-11-03 09:33:21 +00:00
Jim Radford
f8f36cb5b1 LIBOMV-686 Cleanup of ObjectManager to make event classes less confusing, removes ObjectUpdated event as it duplicates the TerseObjectUpdate event.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3176 52acb1d6-8a22-11de-b505-999d5b087335
2009-10-27 07:01:48 +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
5bd0aae867 * Inventory.RootNode and Inventory.LibraryRootNode now return null instead of throwing an exception. Properties should not throw exceptions
* Fixed unintended overriding of LindenMessages.AssetUploaderBlock.State
* Changed the disposable pattern of Simulator to match what MS code analysis suggested
* Added using { } blocks to lots of stream opening to ensure the streams are always closed before going out of scope

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3080 52acb1d6-8a22-11de-b505-999d5b087335
2009-08-12 23:45:52 +00:00
John Hurliman
b4fc6ccdab Committing a slightly modified version of [LIBOMV-609] to fix prim serialization/deserialization when TextureEntry or DefaultFace data is missing. Thank you echeslack
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2915 52acb1d6-8a22-11de-b505-999d5b087335
2009-06-27 21:32:22 +00:00
John Hurliman
f375da4eff Applying patch from [LIBOMV-595] by Douglas R Miles, fixes TextureEntry.GetHashCode() when DefaultTexture is null
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2896 52acb1d6-8a22-11de-b505-999d5b087335
2009-06-16 19:19:16 +00:00
Jim Radford
de8c3131a1 LIBOMV-492 WinGridProxy - Automatically colorize packet details in view
* Log Viewer built into WinGridProxy
* New Decoder system supports the ability to do custom decoding on packet fields, PacketToString moved from Helpers to its own class.
* GridProxy library now uses log4net library to do logging, WinGridProxy logging configuration added to make use of this.
LIBOMV-512 WinGridProxy decodes KeyValue pairs

* Added Invert & Mirror flags to sculptType enum
* Converted SoundManager to use the SoundFlags enum in the AttachedSound callback
* TestClient "who" command now shows agents logal ID

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2805 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-25 19:00:28 +00:00
Latif Khalifa
f18d1a6472 LIBOMV-550 Allow LLSD serialization of prims that don't have name/description properties
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2795 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-21 17:27:19 +00:00
Jim Radford
a892026414 LIBOMV-544 Adds set accessor to Type property for sculpted prims
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2777 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-17 07:41:13 +00:00
Jim Radford
9f77df039b LIBOMV-544 Corrects implementation of previous commit, Invert and Mirror are now properties of a Sculpted Prim Patch courtesy of Douglas Miles
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2776 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-17 07:33:49 +00:00
Jim Radford
0cf52c5214 LIBOMV-544 Adds Invert and Mirror properties for sculpted prims, Patch courtesy of Douglas Miles
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2775 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-17 02:44:15 +00:00
Latif Khalifa
db5be9692b Null Pointer Exception in Primitive.GetHashCode when a
Primitive has not yet received first properties update.
Patch by D. Miles [LIBOMV-466]


git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2564 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-31 20:14:46 +00:00
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
987f504e86 * Made Primitive.GetHashCode() much more thorough. Could reasonably be used as a prim CRC now
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2540 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-26 02:18:43 +00:00
John Hurliman
c20afbbf80 * Added InventoryItemFlags, which is actually only the upper half of the Flags field for inventory items. Stores slam bits, permission override flags, and other things we don't use at all right now
[Simian]
* Initial task inventory support. Move, remove, and RezScript are not supported yet
* SimulationObject Frozen and RotationAxis properties now point to the root prim in the linkset

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2503 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-19 00:25:03 +00:00
John Hurliman
fc1d9dedd1 [LIBOMV-459] Patch from Peter Tavinor to properly set material and media attributes for texture faces
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2492 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-18 00:58:07 +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
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
14af07e89c [LIBOMV-446] Applying patch from Snowdrop Short to fix the Primitive copy constructor if GenericData or NameValue fields differ
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2441 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-17 18:54:45 +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
e9ca2fef01 * Fixed some null reference exceptions in Primitive OSD de/serialization
* Changed RequestRezFromInventory to accept the InventoryItem base type and allow rezzing of InventoryAttachments (non-breaking change)
* Implemented OnLogin event for LoginStatus.ConnectingToLogin
* Added public LogText() method to LocalChat GUI element


git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2402 52acb1d6-8a22-11de-b505-999d5b087335
2009-01-02 21:25:21 +00:00
John Hurliman
344d327a15 * Removed all strings from _Packets_.cs, including warning messages for null arrays and Packet.ToString(). GridProxy needs a new Packet.ToString() method that uses reflection now
* Fixed foliage decoding and removed OnNewFoliage in favor of OnNewPrim only
* Flexi, light, sculpt, and object properties (all inside of Primitive) are now classes that can be null instead of structs
* Added Primitive.GetExtraParamsBytes()
* Massive improvements to Simian and periscope

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2384 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-18 21:45:38 +00:00
John Hurliman
8e84377b22 * Removing EnUsCulture from Helpers as it already exists in Utils
* Removing Helpers.NewLine as it already exists in Environment.NewLine

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2360 52acb1d6-8a22-11de-b505-999d5b087335
2008-11-17 23:37:02 +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
046a778b09 Applying [LIBOMV-395] from Jeff Ames to comment out dead code and fix lots of compiler warnings
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2284 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-09 16:48:44 +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