Commit Graph

127 Commits

Author SHA1 Message Date
John Hurliman
7fce4b984a * Asynchronous CAPS requests, quicker logins and logouts
* BakeLayer constructor takes a dictionary of parameter IDs and values
* Fixed naming inconsistency with events in NetworkManager, SimDisconnectCallback and DisconnectCallback became SimDisconnectedCallback and DisconnectedCallback
* Removed the AnimationSample example from svn, code examples should become TestClient commands

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1002 52acb1d6-8a22-11de-b505-999d5b087335
2007-02-22 18:13:42 +00:00
John Hurliman
49c722fef8 * Cleaned up the GroupManager example program and converted it to use Utilities.AssetManager for more reliable image downloads
* Cleaned up the locking code in the image downloading portion of Utilities.AssetManager
* Added another common CAPS error to the ignore list

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1001 52acb1d6-8a22-11de-b505-999d5b087335
2007-02-22 12:36:31 +00:00
John Hurliman
dc370a972b * Added alpha mask resources to the library for appearance baking
* Changed the MSVC project file and NAnt build file to compile alpha mask resources in
* Added libsecondlife.BakeLayer for compositing bakes
* Utilities.AppearanceManager now handles pre-bake image downloading
* Can send reliable AgentUpdate packets with MainAvatar.Status now
* Bugfix in DumpOutfitCommand
* Better CAPS error handling

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@994 52acb1d6-8a22-11de-b505-999d5b087335
2007-02-20 03:29:44 +00:00
John Hurliman
6442eb9fbd * Changed the InstantMessageCallback to use enums instead of bytes
* Fixed several inconsistencies and missing values in the InstantMessageDialog enum
* Consolidated the InstantMessage overrides down to four functions, made the IM behavior closer to the actual client in some cases
* Better handling of CAPS errors on logout
* Added ClickObject
* Fixed incorrect flags setting in Parcel.Update()
* Converted Primitive.ClickAction to an enum

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@990 52acb1d6-8a22-11de-b505-999d5b087335
2007-02-17 01:41:12 +00:00
John Hurliman
539a4863fd Fixing broken XML comments all over the place
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@987 52acb1d6-8a22-11de-b505-999d5b087335
2007-02-16 00:50:19 +00:00
John Hurliman
e92257ba8d * Added BuyObject and SelectObject
* Simplified the login call in some of the samples
* Converted OnChat to use enums instead of bytes
* TestClient uses MainAvatar.Status instead of sending it's own AgentUpdate packets now
* Slight cleanups to MainAvatarStatus
* Consolidated the DefaultLoginValues functions and added another Login override
* Converted two foreach loops in NetworkManager to for loops for performance
* Duplicate and resent packets are logged at Debug level now

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@984 52acb1d6-8a22-11de-b505-999d5b087335
2007-02-15 22:13:44 +00:00
John Hurliman
04847ea5c6 Clients only have one circuit code per login session, so CircuitCode lives in NetworkManager now
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@962 52acb1d6-8a22-11de-b505-999d5b087335
2007-02-07 00:37:39 +00:00
John Hurliman
ee4c9fffe1 * Thoroughly reworked and tested the teleporting functions
* Added TeleportFlags and TeleportLureFlags enums
* Killed some noisy debugging from ObjectManager and replaced with a FIXME plea

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@955 52acb1d6-8a22-11de-b505-999d5b087335
2007-02-06 08:30:25 +00:00
John Hurliman
f8534129a1 Everything changed. Clever commit message TBA
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@952 52acb1d6-8a22-11de-b505-999d5b087335
2007-02-06 00:08:51 +00:00
John Hurliman
691141a956 * CAPS will auto-retry on 502 errors now, should fix teleporting issues
* Heightmap logs in to the main grid now, and uses a wider height range

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@936 52acb1d6-8a22-11de-b505-999d5b087335
2007-02-01 14:59:42 +00:00
John Hurliman
2a29dc70ee * Part two of the major object restructuring
* Fixed a bug with the LogoutTimer not dying
* Major surgery on how objects are decoded off the wire, handles more cases now
* Added support for lots more object and primitive parameters
* Added several new Helpers functions for converting bytes to values

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@923 52acb1d6-8a22-11de-b505-999d5b087335
2007-01-30 12:47:47 +00:00
John Hurliman
e7843229e9 * Refactored PrimObject and Avatar in to Primitive and Avatar that inherit from LLObject, major restructure
* Latest version of Utilities.Appearance
* Rolled ImageManager in to AssetManager in Utilities.Assets, plus bugfixes
* Added sanity checks to the AgentThrottle stream values
* Added a function to convert a ulong to an LLUUID (for a weird situation with the Xfer system)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@915 52acb1d6-8a22-11de-b505-999d5b087335
2007-01-29 22:20:12 +00:00
733011ea98 Removed Client.Self.SetAlwaysRun(bool) and changed all occurrences of it to new bool Client.Self.Status.AlwaysRun property.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@912 52acb1d6-8a22-11de-b505-999d5b087335
2007-01-29 04:38:55 +00:00
jef
928660b958 Added Simulator.Dilation, and corresponding dilation command in testclient
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@911 52acb1d6-8a22-11de-b505-999d5b087335
2007-01-27 10:16:21 +00:00
John Hurliman
76fdbc7f80 * Added an LLUUID.Combine() function
* Added NetworkManager.SecureSessionID
* Added a missing SendPacket function for raw payloads to non-current sims
* Documented a few things in NetworkManager

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@910 52acb1d6-8a22-11de-b505-999d5b087335
2007-01-27 09:57:29 +00:00
John Hurliman
3a94792761 * Reworked the Login functions, added documentation and (untested) support for login redirects
* Converted _VisualParam_ back to a static array after further analysis
* Rewrote AppearanceManager to work with the VisualParam rewrite
* Cleaned up ImageTool
* Minor cleanup and FIXME note in name2key.exe
* Cleanup and FIXME note in Teleport.exe
* Reorganized the function naming in GridManager to make more sense (not completely done here)
* Added an enum for requesting the object or terrain layer for the map blocks, and more sun properties
* Made some of the MainAvatar properties read-only (eventually they will all be read-only)
* Added try/catch safeties in openjpegnet
* Finally killed the evil SecondLife.Tick()

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@905 52acb1d6-8a22-11de-b505-999d5b087335
2007-01-26 22:01:56 +00:00
John Hurliman
58040e48f8 * Moved ViewerEffect handling to AvatarManager
* Reworked the teleport system to get rid of bad Tick and Sleep calls and clean up callback confusion
* Removed the DownloadInventory() command and replaced all usage of it with fixme notes as it was found to be potentially dangerous to simulators
* Updated the VS2005 solution file with openjpegnet and VisualParamGenerator
* Removed a Sleep call from NetworkManager
* Moved SecondLife.Debug boolean to SecondLife.Settings.Debug

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@902 52acb1d6-8a22-11de-b505-999d5b087335
2007-01-25 13:02:20 +00:00
John Hurliman
1a87ce9b17 Fixed the libsecondlife.Utilities build on NAnt and added another sanity check in the teleport handling
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@870 52acb1d6-8a22-11de-b505-999d5b087335
2007-01-22 06:37:10 +00:00
John Hurliman
2be0b5ea98 Added some sanity checks for caps code in case something goes wrong, and cleaned up the LLSDRequest method
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@869 52acb1d6-8a22-11de-b505-999d5b087335
2007-01-22 05:49:28 +00:00
John Hurliman
b67c837838 * Added a big endian byte to uint converter
* More work on my asset manager
* Fixed the UTF8 string conversion
* Caps.Dead is an internal variable now
* Fixed endianness in the teleporting routine

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@864 52acb1d6-8a22-11de-b505-999d5b087335
2007-01-20 09:13:46 +00:00
John Hurliman
2cbfdfef13 Fixed the TestClient project in VS2005 and more cleanup on Caps
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@860 52acb1d6-8a22-11de-b505-999d5b087335
2007-01-19 13:30:56 +00:00
John Hurliman
b5553ca92e * Updated to the proper message_template.msg and regenerated _Packets_.cs
* Added initial (untested) land searching support to DirectoryManager
* Completely refactored Parcel.cs, moved land directory searching and abstracted out parcel information downloading. Updated to the new protocol
* Added initial (untested) ParcelDownloader class to libsecondlife.Utilities
* Removed dangerous exposed generic lists and parcel downloading state tracking from Region
* Updated the Logout callback to the new protocol

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@859 52acb1d6-8a22-11de-b505-999d5b087335
2007-01-19 13:15:12 +00:00
John Hurliman
c1963dac5a Merging aditi r853 to the trunk
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@854 52acb1d6-8a22-11de-b505-999d5b087335
2007-01-19 00:33:24 +00:00
John Hurliman
c7732280ae * Cleaned up the Logout code (it works for me now)
* Added the skeleton for the ViewerEffect system and implemented the PointAt effect
* Fixed a critical bug when region handle was not being set for the current Region
* Added the LLColor type, a four byte value made up of R,G,B,A
* Tweaked the Settings values for login and logout
* Switched ImageTool.exe to use libsecondlife.Utilities.ImageManager so that it works (switch it back to the main system when it works again)
* Fixed the build patch in a couple project files

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@845 52acb1d6-8a22-11de-b505-999d5b087335
2007-01-14 21:21:05 +00:00
otakup0pe
e2ef59ade0 (hopefully) resolved bug #9863 and moved some values to Settings.cs. also removed a warning ! one whole warning !
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@841 52acb1d6-8a22-11de-b505-999d5b087335
2007-01-13 02:48:33 +00:00
John Hurliman
d075407a06 * Hacked up slaccountant enough to function again
* Reorganized MainAvatarStatus and added comment skeletons
* All NetworkManager callbacks are protected with try/catch blocks now
* Slight initialization cleanup in Region

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@811 52acb1d6-8a22-11de-b505-999d5b087335
2007-01-07 03:25:26 +00:00
John Hurliman
9919d84484 * MainAvatarStatus sends AgentUpdate packets as unreliable now (technically it should be distinguishing between actions like sitting/flying and normal movement and send accordingly)
* Moved the ordering of the OnCurrentSimChanged callbacks around a bit, so the library is aware we're connected and some other things happen before the callback is fired

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@809 52acb1d6-8a22-11de-b505-999d5b087335
2007-01-07 02:41:20 +00:00
Michael Cortez
f83faa7f15 Adding a change notifier event for CurrentSim
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@806 52acb1d6-8a22-11de-b505-999d5b087335
2007-01-06 10:33:43 +00:00
John Hurliman
280fecf75d * CloneProfileCommand clones and activates groups now as well
* Changes in NetworkManager:
 - Removed the exception throwing when a socket is disconnected and replaced it with a warning log message as it's not feasible to try/catch every time a packet is sent out
 - Sequence numbers can automatically be set when sending out raw bytecode packets
 - The sequence number has a lock now to prevent a very rare race condition

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@802 52acb1d6-8a22-11de-b505-999d5b087335
2007-01-05 13:21:55 +00:00
otakup0pe
266ebbfcde Small changes to logout process to deal with a bug in the logout timer.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@785 52acb1d6-8a22-11de-b505-999d5b087335
2006-12-30 03:05:19 +00:00
otakup0pe
adefb31e1c We now do the proper 3 step logout process. New callback OnLogoutReply containing some inventory foolishness. Closes bug #9601.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@778 52acb1d6-8a22-11de-b505-999d5b087335
2006-12-29 04:08:39 +00:00
John Hurliman
090eb2c066 * Changed most of the Console.WriteLine() calls to SecondLife.Log() or .DebugLog()
* Updated the TextureEntry creation to properly display jackets (shoes may still be missing, not sure)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@746 52acb1d6-8a22-11de-b505-999d5b087335
2006-12-20 23:50:35 +00:00
John Hurliman
e6b6d3e3a7 * Fixed a logic bug in Simulator.Disconnect()
* Removed a missing file reference from the libsecondlife project file

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@744 52acb1d6-8a22-11de-b505-999d5b087335
2006-12-20 05:39:19 +00:00
Michael Cortez
b686cebf3d Begining major rework of Asset/Inventory code. Doing a lot of refectoing. What's in here so far?
+ Inventory, Asset and Image managers are now directly apart of the SecondLife class
+ Root Inventory folder has been added to MainAvatar and is set upon login
+ Inventory is no longer downloaded all at once, you have to request the download of individual folders
+ Folder downloading is available Asynchronously, and returns a object that has a ManualResetEvent that you can use to optionally block with
+ The code for AssetManager has been reworked some in prep for allowing Wearables to be Saved/Loaded to/from disk, and for creating new wearables.


git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@742 52acb1d6-8a22-11de-b505-999d5b087335
2006-12-19 23:13:04 +00:00
John Hurliman
96842bb5d6 * Added libsecondlife.Utilities, for all your awesome code that doesn't directly have to do with moving data between the client and the network
* Renamed the tests folder to libsecondlife.Tests
* More NetworkManager hardening code, should throw less warnings now
* Fixed the solution file (again) to be VS C# Express compatible, and removed a missing project reference

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@737 52acb1d6-8a22-11de-b505-999d5b087335
2006-12-18 01:20:10 +00:00
otakup0pe
af5a3f0678 It's a thousand pages, give or take a few, I'll be writing more in a week or two.
I can make it longer if you like the style,I can change it round and I want to be a paperback writer,
Paperback writer.

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@727 52acb1d6-8a22-11de-b505-999d5b087335
2006-12-16 03:24:05 +00:00
John Hurliman
a7f066c343 * Changed disconnect callbacks in NetworkManager to events
* Sanity check for sending a zero or negative amount in GiveMoney()

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@723 52acb1d6-8a22-11de-b505-999d5b087335
2006-12-14 20:26:51 +00:00
John Hurliman
baae5a17ed * Updated the message_template.msg to 1.13.1.4
* Moved MainAvatar delegates and enums in to the MainAvatar.cs file
* TestClient now stores prims in per-sim dictionaries
* TestClient throttles the connection at login
* OnTeleport callback passes a reference to the current Simulator
* Removed unneeded typecasts to Packet
* AutoPilotLocal() doesn't need the GridRegionData reference
* Disconnects and packets resent multiple times are handled better
* OnNewAvatar is fired for our own avatar as well, and our avatar position is updated all the time now, as well as confirming it's our avatar by UUID instead of name

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@721 52acb1d6-8a22-11de-b505-999d5b087335
2006-12-13 21:15:49 +00:00
John Hurliman
28670e09fe Added a Settings class
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@711 52acb1d6-8a22-11de-b505-999d5b087335
2006-12-11 12:46:58 +00:00
bushing
af5b757e86 cleaned up warnings
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@709 52acb1d6-8a22-11de-b505-999d5b087335
2006-12-11 09:36:52 +00:00
John Hurliman
765fdda1b1 Fixed the sequence-rollover-network-explosion bug (needs confirmation). The sequence number is actually the second, third, and fourth bytes of the packet header, giving it a max value of 16777215, or approximately 26 days of connectivity to a single simulator.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@706 52acb1d6-8a22-11de-b505-999d5b087335
2006-12-11 02:34:04 +00:00
John Hurliman
c60e041ad4 userAgent and start were backwards in one of the Login() methods, causing login to fail when a starting location was specified
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@700 52acb1d6-8a22-11de-b505-999d5b087335
2006-12-10 00:00:28 +00:00
John Hurliman
b8b11a4094 Fixed a bug where arrays were not being added to the login xml (such as the options array)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@696 52acb1d6-8a22-11de-b505-999d5b087335
2006-12-09 00:49:33 +00:00
lonecoder
d7931495d7 Fixed Prim Deserialization. The problem was with LLUUID.ReadXml not moving the reader position up, so anything read after that would be corrupt.
Changed vector types to structs.  LLUUID should probably be changed to a struct as well.

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@694 52acb1d6-8a22-11de-b505-999d5b087335
2006-12-08 09:06:13 +00:00
John Hurliman
eca9395b39 Buffer size for zerodecoding increased, and appended ACKs are accounted for in ZeroDecode() now. More testing needed
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@688 52acb1d6-8a22-11de-b505-999d5b087335
2006-12-06 23:40:44 +00:00
John Hurliman
2b77d66de9 Upgraded to the latest version of XmlRpcCS, and removed a lot of the fancy XML serialization stuff to try and make it work
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@684 52acb1d6-8a22-11de-b505-999d5b087335
2006-12-05 23:28:59 +00:00
John Hurliman
3dbdbec13b * Added more documentation to Types.cs
* Renamed LLUUID.GenerateUUID() to LLUUID.Random()
* Optimized the type classes hashing functions
* Fixed a bug where source packet data would be modified on big endian platforms when creating type classes
* Normalized the ToString() output of the type classes

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@677 52acb1d6-8a22-11de-b505-999d5b087335
2006-12-04 00:19:58 +00:00
John Hurliman
4f4e0d0afe TextureEntryFace repeatU/V values default to 1.0 now, and the quotes around avatar first/last name bug is fixed
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@671 52acb1d6-8a22-11de-b505-999d5b087335
2006-12-02 10:31:20 +00:00
Michael Cortez
659432feee * Fixed an infinite loop problem when requesting bodyshape Assets
* Added a variable to define XML/Login timeout -- boosted original default of 15 seconds to 60

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@665 52acb1d6-8a22-11de-b505-999d5b087335
2006-11-30 21:19:45 +00:00
Michael Cortez
598b36ce68 Move magic numbers for network timeouts out of code into some constants.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@663 52acb1d6-8a22-11de-b505-999d5b087335
2006-11-30 18:47:44 +00:00