Commit Graph

73 Commits

Author SHA1 Message Date
John Hurliman
41c7c30b41 UnACKed packets are resent after 2500ms
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@640 52acb1d6-8a22-11de-b505-999d5b087335
2006-11-27 21:51:28 +00:00
John Hurliman
d1b0da66d1 * A single buffer is reused for zerocoding outgoing packets now
* Various cleanups in NetworkManager
* Added small bits of documentation in SecondLife.cs

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@637 52acb1d6-8a22-11de-b505-999d5b087335
2006-11-26 23:42:20 +00:00
John Hurliman
c17074a645 primexport:
* Supports libprims and prim.blender output formats now
* Less noisy output, doesn't warn about missing parent prims for attachments
libsecondlife:
* Cleaned up the AgentThrottle class, it's now accessible through SecondLife.Throttle
* Fixed PrimObject null members
* Fixed PrimFlexibleData invalid XML
* Fixed invalid TextureAnimation XML
* Speckled documentation here and there

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@632 52acb1d6-8a22-11de-b505-999d5b087335
2006-11-25 20:25:02 +00:00
Latif Khalifa
814db8ff45 * Changed Packet.BuildPacket to take an existing byte buffer for zerodecoding packets to avoid initializing a new buffer every packet. Added one zerobuffer per simulator to NetworkManager
* Cleaned up sldump slightly, added a "seconds to run" option to the command-line
* Cleaned up the AgentThrottle class, renamed variables to proper casing

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@611 52acb1d6-8a22-11de-b505-999d5b087335
2006-11-21 15:24:17 +00:00
axial
0004af9114 applying Stefan / Duplo's InvariantCulture patch for libsecondlife-cs/NetworkManager
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@607 52acb1d6-8a22-11de-b505-999d5b087335
2006-11-20 04:57:35 +00:00
bushing
7fd738ed94 Added full AgentThrottle support
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@585 52acb1d6-8a22-11de-b505-999d5b087335
2006-11-14 16:03:06 +00:00
John Hurliman
8b0952ccfc * AddTree and AddGrass methods
* Added default constructors for more of the prim parameter classes and initialize them in the default prim constructor. Should reduce null reference issues
* TextureEntry.ToBytes() correctly handles null DefaultTexture

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@572 52acb1d6-8a22-11de-b505-999d5b087335
2006-11-13 05:36:52 +00:00
John Hurliman
3ced78e8ff CopyBot:
* More aggressive AgentUpdate timer
* Workaround hack for prims appearing in the wrong position for other clients
* Fixed ViewerEffect handling to copy over multiple Effect blocks, and never send ViewerEffect packets with no blocks (which will crash the sim)
* CopyBot will rotate to face the original avatar (kind of, needs refining)
libsecondlife:
* Added an enum for AttachmentPoint
* Couple additional sanity checks for null simulators after disconnecting
* Can build a quaternion from normalized X/Y/Z only now

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@569 52acb1d6-8a22-11de-b505-999d5b087335
2006-11-12 11:33:42 +00:00
John Hurliman
2ee4403238 * Added Self.TeleportLureRespond()
* Added a ToString() method for Simulator
* Fixed teleporting to a new region and AgentUpdates in CopyBot

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@565 52acb1d6-8a22-11de-b505-999d5b087335
2006-11-12 01:49:47 +00:00
John Hurliman
d397ea1b18 Check for client sequence number rollover
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@564 52acb1d6-8a22-11de-b505-999d5b087335
2006-11-12 00:43:48 +00:00
John Hurliman
01f6fbee1c * Much improved UpdateCamera() function
* Vector x Quaternion override in LLVector3
* Added a test case to make sure the avatar isn't blind

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@546 52acb1d6-8a22-11de-b505-999d5b087335
2006-11-09 23:21:38 +00:00
John Hurliman
d54bbd9232 * Moved all the delegates and enumerations I could find inside of parent classes, part of a major cleanup
* Reverted the PathTaper / PathScale code
* Added small bits of xmldoc here and there, trying to clean up now that we have auto-generating docs

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@542 52acb1d6-8a22-11de-b505-999d5b087335
2006-11-09 10:18:03 +00:00
John Hurliman
134193e26d * Implemented the first real unit test that utilizes the SL grid and our unit testing bot to check for u64 endian issues
* Added new methods to NetworkManager to login with an md5 hash instead of a password

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@541 52acb1d6-8a22-11de-b505-999d5b087335
2006-11-08 22:58:50 +00:00
John Hurliman
28ecfa5976 Updated the entire library (where appropriate) to use LLUUID.Zero, LLVector*.Zero, and LLQuaternion.Unit instead of creating new instances of the class
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@528 52acb1d6-8a22-11de-b505-999d5b087335
2006-11-07 23:30:09 +00:00
John Hurliman
7e21d49311 Moved the MD5 hashing to the Helpers class
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@524 52acb1d6-8a22-11de-b505-999d5b087335
2006-11-07 21:42:39 +00:00
qode
25378ee873 Added the SecondLife.Network.OnConnected() event to NetworkManager.cs.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@519 52acb1d6-8a22-11de-b505-999d5b087335
2006-11-07 20:20:25 +00:00
John Hurliman
5a93c57501 Changed the Inbox in NetworkManager to use a fixed size Queue, we'll see if this fixes sequence number rollover issues
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@503 52acb1d6-8a22-11de-b505-999d5b087335
2006-11-04 13:42:49 +00:00
qode
ea82ee3f5b *Added (string) NetworkManager.StartLocation(string sim, int x, int y, int z)
**This can be used in the newly created DefaultLoginValues(string first, string last, string password, string StartLocation, string useragent, string author)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@495 52acb1d6-8a22-11de-b505-999d5b087335
2006-11-03 20:19:49 +00:00
John Hurliman
caca9ebdfd * Commented a few unused variables out in GroupManager
* ACKing performance enhancements in NetworkManager for high packet loads
* More sanity checking in Parcel.cs
* Added comment skeletons, reorganized member ordering, and added a ToBytes() skeleton function in Textures.cs

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@408 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-27 21:42:23 +00:00
John Hurliman
3c08ee0252 Added a new Login() method that doesn't need a dictionary, and a RequestObjects() function in ObjectManager
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@407 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-27 12:35:57 +00:00
John Hurliman
f9c35ba4a2 Merged the aditi branch to the trunk, threw the latest protocol files in, generated a new _Packets_.cs and fixed the login url. We should be good to go
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@396 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-25 22:05:07 +00:00
John Hurliman
d71f44c55f Removed all the trailing residue from the mutexes, fixed a Logout bug with closing the sim socket
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@395 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-25 21:22:18 +00:00
John Hurliman
3a70f4090b Removed all mutexes from libsecondlife, replaced with lock()
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@393 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-25 10:41:43 +00:00
John Hurliman
9830bf85e4 On a mad coding spree.
* Implemented AvatarManager, added the async functions
* Rebuilt the key2name functionality
* Fixed and cleaned up a lot of the teleporting code
* More functions implemented in GroupManager
* Renamed SecondLife.Avatar to SecondLife.Self
* Updated the groupmanager example to list group members
* Renamed Form1.cs to AnimationSample.cs

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@386 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-24 11:16:26 +00:00
John Hurliman
40f748f88c Added initial texture support to groupmanager, removed an unneeded SSL certificate override class from NetworkManager
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@373 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-22 20:27:59 +00:00
John Hurliman
59edffffe7 Converted libsecondlife to .NET 2.0, using generic containers exclusively
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@362 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-21 05:53:58 +00:00
bushing
4fa67d3b35 svn:eol-style native is your friend
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@360 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-21 02:52:28 +00:00
John Hurliman
25834b70bb * Added a 9 parameter DefaultLogin Values, weaning the example apps off of passing in a version number
* Fixed several SimulatorsMutex hacks now that the root issue is resolved
* Teleport example will let you know if you try to teleport to the local sim

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@350 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-20 19:42:09 +00:00
Michael Cortez
f05eb64dfd Fixed a mutex bug, and removed commenting hack
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@349 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-20 19:28:32 +00:00
Michael Cortez
c80e7b7721 Temporarily giving up on the "correct" solution to get teleport to work, and going with the comment hack (removing a mutex from the NetworkManager to prevent a deadlock.)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@342 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-19 19:01:42 +00:00
John Hurliman
3238049bc6 * Got rid of SecondLife.CurrentRegion (use SecondLife.Network.CurrentSim.Region instead)
* Initial framework for groups support
* Fixed Logout() issues with freezing or throwing exceptions
* slaccountant small cleanup (still doesn't run under .NET 2.0)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@338 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-19 08:37:46 +00:00
John Hurliman
1477bcbaa0 Fixed the colon-in-strings bug that was introduced a few commits back
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@328 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-18 07:24:11 +00:00
John Hurliman
f47477c9e0 * Initial support for ObjectUpdateCompressed packets
* Typecast only once in the main ParcelPropertiesHandler block
* Handle the new colons in region and avatar names

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@326 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-18 07:02:24 +00:00
John Hurliman
46ee60f13b General cleanup to remove some of the build warnings, mostly XML comment fixing and making public event handlers private. Also changed the asset uploading function to return the new asset ID instead of the transaction ID
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@321 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-17 09:03:28 +00:00
John Hurliman
d9dc4edd44 * Fixed the ToString() output for packets with byte array fields
* Implemented and tested the OnBalanceUpdated event
* Created a SendInitialPackets() function and commented our current knowledge of the login packets
* CurrentRegion.Handle is now set at login
* Moved the README.Mono file to README.txt and added a bit more information
* Fixed the sldump example to use the 1,50,50,50 version number
* Generated an updated _Packets_.cs file

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@319 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-17 08:21:37 +00:00
John Hurliman
62816c177c Removed the appended ack logging spam
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@307 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-16 07:23:10 +00:00
John Hurliman
b01ad186b2 Fixed the naming scheme of some of the delegates to be uniform with the rest of the code
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@284 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-15 23:54:14 +00:00
bushing
2c9080561c It's Party Time\! (r213:HEAD)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@279 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-14 05:13:39 +00:00
John Hurliman
577f4f6c1a Upgrading all the project files, updating keywords.txt/message_template.msg, removing unused files
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@231 52acb1d6-8a22-11de-b505-999d5b087335
2006-09-30 00:19:01 +00:00
John Hurliman
d0cfb94d4f The initial unit test framework, and lots of safety checks and cleanup in NetworkManager
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@207 52acb1d6-8a22-11de-b505-999d5b087335
2006-09-19 07:34:45 +00:00
John Hurliman
6c36691321 * Added a SendPacket() that takes a raw payload
* Added DisconnectSim() to kill the connection to a sim and clean up socket and SimulatorsList
* Fixed the Simulator.Initialize timeout
* Only update Packet.TickCount if it's a reliable packet
* Shutdown a simulator on a SocketException

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@203 52acb1d6-8a22-11de-b505-999d5b087335
2006-09-19 01:26:03 +00:00
John Hurliman
f08e7191dc NetworkManager:
* OnSimDisconnected and OnDisconnected events added
* The Disconnect function is working
* Shutdown() was added to kill the network layer
* Added documentation for the Packet class
* Added a TickCount to Packet for tracking ACK timeouts
* Added a LastReceivedTime to Simulator for tracking disconnects
* Optimized the NeedAck hashtable
* Fixed a potential deadlock during Logout and removed a dodgy goto statement
* Removed the try/catch from Logout to catch bugs
* Added a not-logged-in catch in Logout
* Removed the 1-second sleep from Logout
* Connect returns the connected Simulator object or null now

ObjectManager:
* OnAvatarMoved and OnPrimMoved events are fired now

Prims:
* Minor function clarifications

Avatar:
* Uses the new Connect function for teleporting

Packet:
* Added documentation
* HeaderLength is private now
* Removed the Field() function
* Miscellaneous cleanups

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@195 52acb1d6-8a22-11de-b505-999d5b087335
2006-09-17 03:03:31 +00:00
John Hurliman
bf19f1bc2a * Fixed SecondLife.GetAgentDetails to prevent it from registering multiple callbacks
* Added code documentation skeletons in SecondLife.cs
* Removed Helpers.Log and replaced it with SecondLife.Log that is silent if SecondLife.Debug = false;
* Removed logging from ProtocolManager.cs where an exception was also being thrown
* Replaced logging in the FieldToString method with a sensible return value on error
* Replaced Packet.Blocks() logging with an ugly hack for now
* Replaced most logging with exception throwing to prevent broken apps from breaking further
* Formatting fixes for some of the files

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@173 52acb1d6-8a22-11de-b505-999d5b087335
2006-09-07 03:39:23 +00:00
John Hurliman
3f4ee5f514 Fixed a deadlock bug with InboxMutex
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@171 52acb1d6-8a22-11de-b505-999d5b087335
2006-09-06 20:24:12 +00:00
John Hurliman
cf22407674 Removed the Circuit class and replaced it with the Simulator class
* Region information is linked to simulators and track per sim
* Region information can be gleaned in callbacks now
* Parcel overlay handling is also done per sim
* Packets should be sent to the proper sim now
* Zerodecoding and appended ACK handling hopefully play nicely together
* Login timeout has been simplified, Simulator uses no timers
* Disconnect (from a sim) is currently broken at the NetworkManager level
* Periodic ACK sending and ACK appending is currently disabled

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@90 52acb1d6-8a22-11de-b505-999d5b087335
2006-07-26 05:34:48 +00:00
John Hurliman
28032f80e5 Added Adam's parcel overlay parsing functions and a few bugfixes to parcel overlay parsing
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@71 52acb1d6-8a22-11de-b505-999d5b087335
2006-07-23 05:43:33 +00:00
John Hurliman
454667daf2 Committed Adam's friend online/offline notification patch
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@69 52acb1d6-8a22-11de-b505-999d5b087335
2006-07-21 22:24:36 +00:00
John Hurliman
298a866428 * Checks for PacketAck first when decoding low priority packets, huge speed gain
* Network system uses eight revolving buffers instead of just one
* Bugfix to correctly parse appended ACKs
* ACKs are no longer queued, they are sent out whenever one is ready to send

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@67 52acb1d6-8a22-11de-b505-999d5b087335
2006-07-19 09:00:59 +00:00
John Hurliman
5cf09cbe75 Fixed a bug checking for appended ACKs
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@66 52acb1d6-8a22-11de-b505-999d5b087335
2006-07-19 02:16:30 +00:00
John Hurliman
c05de6c98a * (Region)Handle is now set for the first logged in region
* Some updates to PrimObject to get ready for object importing and moving

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@61 52acb1d6-8a22-11de-b505-999d5b087335
2006-07-16 22:17:13 +00:00