Commit Graph

34 Commits

Author SHA1 Message Date
John Hurliman
a44ff50e76 * Fixing incorrect quaternion multiplication code
* Changing the foreach loops in ObjectManager.InterpolationTimer to use the ForEach() functions
* Avoid running packet.ToString() twice for every packet in SLProxy analyst

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1616 52acb1d6-8a22-11de-b505-999d5b087335
2008-01-11 23:49:28 +00:00
John Hurliman
c929b1d948 Applying patch #83 from jradford, renames SafeDictionary to InternalDictionary, removes the now unused ObjectTracker class, and converts FriendsManager to use InternalDictionary
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1589 52acb1d6-8a22-11de-b505-999d5b087335
2008-01-03 21:55:49 +00:00
John Hurliman
ec9d33eb6a Switched ObjectManager.AddPrim() to use the internal LLObject.ObjectData.profileCurve byte which fixes the incorrect hole type on rez bug
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1571 52acb1d6-8a22-11de-b505-999d5b087335
2007-12-30 00:06:25 +00:00
John Hurliman
3c3285f7f5 * Removed a double lock on network shutdown and properly shut down the blocking queue
* Added LLQuaternion.SetQuaternion() functions and fixed the quaternion multiplication
* Updated importprimscript to an enum name change

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1524 52acb1d6-8a22-11de-b505-999d5b087335
2007-12-19 01:11:16 +00:00
John Hurliman
c66b52e7a8 * Partial rewrite of LLObject to properly pack and unpack parameters
* Added the LLVector2 type
* Added some missing error handling to CapsClient
* Added an arithmetic rounding function and two Lerp() functions

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1523 52acb1d6-8a22-11de-b505-999d5b087335
2007-12-18 19:23:46 +00:00
John Hurliman
603d34a708 * Fixed multiple light parameter parsing bugs, added LightData.Intensity (resolving issue #45 by timhart)
* Removed the useless Avatar.Online variable
* Adding the beginnings of appearance and animation tracking for avatars
* Updated PrimInfo command to show light data

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1514 52acb1d6-8a22-11de-b505-999d5b087335
2007-12-04 18:50:44 +00:00
John Hurliman
ba153c9749 * Removed LLUUID.ToStringHyphenated(), LLUUID.ToString() has hyphens now
* Fixed a CAPS crash when the callback was triggered with a null LLSD object
* Fixed TextureEntry bugs, added support for the new glow parameter
* Prim import and export are working now, but need rigorous testing

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1507 52acb1d6-8a22-11de-b505-999d5b087335
2007-11-30 13:15:31 +00:00
Latif Khalifa
fb3c459016 * Added Helpers.StateToAttachmentPoint() that converts a prim.Data.State to the AttachmentPoint enum
* Created an Appearance folder for TestClient commands, put the new AttachmentsCommand in it which shows all of the current agent attachments
* Moved the ObjectManager enums out to the libsecondlife namespace
* Change LLObject.ObjectData.State from a uint to a byte (as it should be)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1505 52acb1d6-8a22-11de-b505-999d5b087335
2007-11-30 00:25:08 +00:00
John Hurliman
13cabdd133 Applying patch from issue #33 by timhart, fire OnObjectProperties regardless of OBJECT_TRACKING state
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1503 52acb1d6-8a22-11de-b505-999d5b087335
2007-11-29 19:44:34 +00:00
phaik
bfc8dc9a87 courtesy of jradford: ObjectPropertiesFamily Patch, allows addition of objectpropertiesfamily replies to the object tracker dictionary.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1495 52acb1d6-8a22-11de-b505-999d5b087335
2007-11-20 05:52:30 +00:00
John Hurliman
3013742668 * Increased SIMULATOR_TIMEOUT to 30 seconds
* Converted all timers to System.Threading timers to fix problems running in services and the CF
* UDPBase now uses our own ReaderWriterLock that is more efficient, and CF compatible
* Login uses a hand-created LoginProxy object instead of dynamically building the class with reflection .Emit()
* Replaced ParameterizedThreadStart calls with class-wide variables for CF compat.
* Removed transfer timeout code (irrelevant now that uploads go through CAPS)
* Added several new Helpers methods to wrap desktop and CF conditional code
* Replaced Monitor calls with AutoResetEvent in BlockingQueue
* InventoryNodeDictionary uses generics now
* Removed final lingering piece of XML serialization
* Added CookComputing.XmlRpc.CF.dll for the CF

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1479 52acb1d6-8a22-11de-b505-999d5b087335
2007-11-06 09:26:10 +00:00
John Hurliman
b995eaf53c * Added LLMatrix3 struct
* Cleaned up Types.cs, moved type-specific math from Helpers to the individual types
* Added more functions to CoordinateFrame
* Added Helpers.Swap<>() and Helpers.IsFinite()
* Added agni and aditi constants to Settings

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1386 52acb1d6-8a22-11de-b505-999d5b087335
2007-09-02 04:45:12 +00:00
John Hurliman
975637b2a1 * Switched LLObject to using the Permissions struct
* Added CoordinateFrame class for camera management
* Added NetworkManager.OnSimConnecting that blocks before connecting to a new sim
* CurrentSim no longer goes null in between teleports
* Applied jradford's patch to fix the DeedObject patch
* UDP socket Bind() is used instead of Connect() now and sender verification is done in PacketReceived() to fix an apparent compatibility problem
* Added Helpers.VecCross() for vector cross products
* TextureEntryFace and TextureEntry now implement ICloneable

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1384 52acb1d6-8a22-11de-b505-999d5b087335
2007-09-01 07:52:55 +00:00
John Hurliman
3ce496f4bc Applying jradford's patch from issue 349, adds ObjectManager.DeedObject() and ObjectManager.DeedObjects()
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1380 52acb1d6-8a22-11de-b505-999d5b087335
2007-08-30 18:28:59 +00:00
John Hurliman
56600d7757 * Added Settings.OBJECT_TRACKING check on ObjectKill packet handling
* Switched double and triple dictionary lookups in ObjectManager, EventDictionary and elsewhere to use a single TryGetValue() call

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1371 52acb1d6-8a22-11de-b505-999d5b087335
2007-08-23 18:54:43 +00:00
John Hurliman
d46dd96eee * Added Settings.OBJECT_TRACKING to enable or disable internal object tracking, enabled by default
* Added a Helpers.VecDist() overload that works with LLVector3d
* Added Self.GlobalPosition property
* Removed the dead libslupdater app

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1370 52acb1d6-8a22-11de-b505-999d5b087335
2007-08-23 17:41:57 +00:00
John Hurliman
47f8a88162 * Moved all simulator statistic information to a new struct at Simulator.Stats
* Added per-sim avatar and prim tracking through Simulator.Objects, use Settings.ALWAYS_DECODE_OBJECTS = true to enable
* Handle DisconnectSim packet and don't send CloseCircuit packets on sim-triggered disconnects
* Interpolation timer now does angular velocity and linear movement interpolation for all objects in the object tracker(s)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1363 52acb1d6-8a22-11de-b505-999d5b087335
2007-08-20 09:26:21 +00:00
John Hurliman
adfc241218 * Backporting all of the non-networking and non-inventory changes from the jhurliman branch
* The new asset and appearance managers sit alongside the old ones, so no code should break just yet although you might have to be more explicit with your namespaces
* Adding importprimscript to work in conjunction with qarl's Maya sculptie exporter
* Removing the IA_* examples, these should be remade in to TestClient commands

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1275 52acb1d6-8a22-11de-b505-999d5b087335
2007-07-08 04:35:04 +00:00
0101cd5ffb * Added FriendManager.cs
* Added Client.Friends.RequestFriendship(targetID) and .RemoveFriend(targetID)
* Updated all existing 2006 copyrights to 2006-2007

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1207 52acb1d6-8a22-11de-b505-999d5b087335
2007-05-28 17:22:14 +00:00
jef
a0be077021 Fix for #128 (ObjectUpdateCompressed exceptions) thanks to makomk
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1205 52acb1d6-8a22-11de-b505-999d5b087335
2007-05-26 22:02:23 +00:00
John Hurliman
106b482faa * Lots more work on baking
* Fixed TestClient WearCommand (not heavily tested, subject to change)
* Removed System.Speech reference from TestClient project
* Textures.cs is going to eventually be replaced by TextureEntry.cs which is a lot more efficient, once it is working
* Added some Helper methods to prepare for the new TextureEntry replacement
* Bringing libsecondlife.Tests up to speed again
* New OpenJPEGNet function for generating baked textures
* Formatting cleanup in OpenJPEGNet

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1183 52acb1d6-8a22-11de-b505-999d5b087335
2007-05-12 01:42:28 +00:00
5a612fc5c9 Applied try/catch patch to ObjectManager.cs InterpolationTimer_Elapsed, submitted by Ahzz
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1148 52acb1d6-8a22-11de-b505-999d5b087335
2007-04-26 05:07:30 +00:00
John Hurliman
a9acaf8038 Object properties are correct again
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1146 52acb1d6-8a22-11de-b505-999d5b087335
2007-04-26 01:09:20 +00:00
John Hurliman
3586d8af75 * Fixes for the new login system (official support for third party clients at login, no more faking version numbers!)
* Proper parsing of compressed object updates and texture entries after the latest protocol changes. By proper I mean I haven't tested that it gets correct values at all

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1144 52acb1d6-8a22-11de-b505-999d5b087335
2007-04-25 23:18:44 +00:00
John Hurliman
f9465f8488 * Updated _Packets_.cs against the latest message_template.msg (we should automate this)
* Some new bitpacking functions
* Removed ReservedNewbie references
* Updated Path*() functions to use ushort instead of byte
* Fixes and cleanup to the particle system code

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1143 52acb1d6-8a22-11de-b505-999d5b087335
2007-04-25 19:58:58 +00:00
John Hurliman
9218d12d4c * Added support for people directory searches [acidie]
* TestClient tracks its master through name and UUID now, and verifies identify by UUID [acidie]
* Objects.OnObjectProperties wasn't hooked up to a packet callback previously, fixed now
* Cleaned up the name2key example [acidie]

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1138 52acb1d6-8a22-11de-b505-999d5b087335
2007-04-23 01:39:14 +00:00
John Hurliman
3fbf2ef6aa XML importing and exporting should be functional again
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1137 52acb1d6-8a22-11de-b505-999d5b087335
2007-04-22 14:14:32 +00:00
John Hurliman
6e7af40682 * Fixed a crash when attempting to teleport with CAPS disabled
* The meaning of Settings.ALWAYS_DECODE_OBJECTS has changed slightly, agent updates are now always decoded regardless of this setting. Clients that are not doing object tracking and have this set to false should see less memory usage
* NameValue is now a struct
* LLObject.NameValues is now an array to help with performance and serialization

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1135 52acb1d6-8a22-11de-b505-999d5b087335
2007-04-20 16:03:24 +00:00
John Hurliman
48f7aa5d0f * Attempted fix for issue 87, login redirects failing (new parameters were added)
* Added Caps.IsEventQueueRunning
* Teleports now fail immediately unless the event queue is running
* All Array.Copy calls have been changed to Buffer.BlockCopy
* Improved the GotoCommand, synchronous teleports are used and better feedback is given

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1124 52acb1d6-8a22-11de-b505-999d5b087335
2007-04-15 07:37:53 +00:00
John Hurliman
3b6bfbc1ce * Caps initial connection is now asynchronous. This will fix the last remaining occasional lockup on program exit
* Fixed a lockup on exit and NullReferenceException when using ParcelInfoCommand in TestClient
* Basic (but incomplete) support for decoding foliage in CompressedUpdateHandler
* More exception handling in Login.cs
* Housekeeping in MainAvatar.cs
* Increased teleport and caps timeouts
* Added an LLVector3 * LLVector3 operator overload

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1115 52acb1d6-8a22-11de-b505-999d5b087335
2007-04-13 20:02:21 +00:00
John Hurliman
f44c012f60 * Client.Self.Position now does acceleration/velocity interpolation
* Added LLVector3 * float operator
* Adding Oven.cs to Baker (will be moved in to libsecondlife later) that does the first baby steps of baking
* Added the missing Helpers.GetResourceStream() function
* Changed readonly Settings values to const


git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1110 52acb1d6-8a22-11de-b505-999d5b087335
2007-04-09 08:03:12 +00:00
John Hurliman
fabdeabf10 * AgentUpdate packets are now complete with the additional enums AgentFlags and AgentState. AgentUpdateFlags has been renamed to ControlFlags
* Fixed a bug where the blocking queue was holding up logouts for up to 15 seconds
* Client.Self is now updated by terse update messages along with full object updates
* Parcel.Update() now takes a bool specifying if we want a confirmation Packet
* An optimization has been added to MainAvatarStatus to prevent duplicate AgentUpdate packets from being sent out. If the avatar is staying idle it will use a lot less bandwidth now
* Default camera distance is now 384 so we see the entire sim

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1107 52acb1d6-8a22-11de-b505-999d5b087335
2007-04-06 21:02:20 +00:00
John Hurliman
88e7d9397c * Fixed up the Baker example for bushing's experiments
* Removed the ThreadPool checks, it's a lost cause on Mono right now
* Moved ObjectManager RequestAllObjects and AlwaysDecode to the Settings class as ALWAYS_REQUEST_OBJECTS and ALWAYS_DECODE_OBJECTS
* TestClient uses the new Settings variables for object management
* Increased the CAPS timeout, we need to get the initial connection async quickly
* Added a post-build step for openjpegnet MSVC project to copy openjpeg.dll to the bin/ directory

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1090 52acb1d6-8a22-11de-b505-999d5b087335
2007-04-01 09:52:13 +00:00
John Hurliman
1cb7f4c253 Huge svn cleanup!
* libsecondlife-cs is now libsecondlife
* All applications that are staying have been moved to trunk/
* SLProxy loads Analyst plugin by default if no other plugin is specified on the command line

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1068 52acb1d6-8a22-11de-b505-999d5b087335
2007-03-26 23:12:39 +00:00