Commit Graph

230 Commits

Author SHA1 Message Date
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
940b02f36a Applying patch from Ben Anhalt for [LIBOMV-455], which splits up UUIDNameRequests into multiple packets for long lists of UUIDs
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2455 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-25 20:09:58 +00:00
Robin Cornelius
0ed9ab8618 Implement RebakeAvatarTextures packet hander and refactor some appearance manager code to allow the necessary reuse of some functions in more than one place
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2454 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-22 20:24:13 +00:00
Latif Khalifa
b240c1442e Removed cruft from previois commit - LIBOMV-450
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2452 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-22 10:48:00 +00:00
Latif Khalifa
d116087ecb LIBOMV-450: Breaking change. Change avatar locations from List<Vector3> to Dictionary<UUID, Vector3> to enable more uses of CoarseLocationUpdateCallback.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2451 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-22 10:45:03 +00:00
Robin Cornelius
51a2768e90 Opensim does not yet send the MediaData section of ParcelProperties via LLSD, so make that block optional for compatability reasons.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2450 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-21 09:54:19 +00:00
John Hurliman
8f7775a7ac [LIBOMV-448] Applying a patch from Snowdrop Short to allow the TransactionID to be specified for asset uploads
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2445 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-18 19:07:06 +00:00
John Hurliman
39f154178b Implemented NetworkManager.OnPacketSent callback that is fired after every outgoing packet has been put on the wire. Adds the basic functionality requested in [LIBOMV-60]
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2444 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-17 19:22:07 +00:00
John Hurliman
9b1e82bc34 [LIBOMV-430] Applying patch from Mike Mazur to zero out extra data from previously processed packets
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2443 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-17 19:09:22 +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
6fbaa010a3 [LIBOMV-443] Applied patch from Keith Perkins to add ObjectManager.DropObject() function
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2440 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-17 18:48:33 +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
Robin Cornelius
cd2b4d6deb LIBOMV-439 Fix some locking issues in AppearanceManager accessing Wearables.Dictionary
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2437 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-16 10:32:17 +00:00
John Hurliman
71f3ff77ca Switched HttpServer.dll to the "lite" branch in the official C# WebServer repository. The fork maintained by libopenmetaverse will be removed soon
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2432 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-09 07:26:50 +00:00
Jim Radford
d4f4c38154 LIBOMV-442 .NET 2 doesn't appear to like casting type var to object. This method probably needs to be in the packet class specifically instead of Helpers
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2430 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-05 17:42:24 +00:00
Jim Radford
7232ce6801 LIBOMV-442 Adds new method to helpers which uses reflection to dump a packet to a human readable string format (used by GridProxy)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2429 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-05 09:25:43 +00:00
John Hurliman
48982dfb7f Moved AgentManager enums to the OpenMetaverse namespace to match other enums (maybe all enums should be placed in a separate file?)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2425 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-03 18:14:11 +00:00
John Hurliman
1ab82e4f17 * Removed Agent.CurrentPosition in favor of Agent.Avatar.Position
* Stubbed out the UDP teleport request handler
* Removed some redundancies in the ISceneProvider interface between objects and agents, and fixed SceneManager to operate on both agent and object stores where needed

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2424 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-03 01:59:46 +00:00
29738e5ff8 * Added new TerrainCompressor overloads
[Simian]
* Moved RegionID, RegionX, RegionY, RegionHandle to ISceneProvider
* Converted to a patch-based terrain interface

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2422 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-02 21:33:21 +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
Jim Radford
7a5e63dbab LIBOMV-441 ParcelManager Update() method will now use capability if it exists on the simulator and fallback to the udp method if no capability exists.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2419 52acb1d6-8a22-11de-b505-999d5b087335
2009-01-27 23:06:31 +00:00
Robin Cornelius
92d03d5066 Allow runtime chaning of RESOURCE_DIR so that resources can be placed in an approprate R/O area, if desired
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2418 52acb1d6-8a22-11de-b505-999d5b087335
2009-01-22 10:00:02 +00:00
Robin Cornelius
5a57f43b74 LIBOMV-414, group members reply may be over multiple packets, do not remove from request list untill we have them all, or we ignore packets we want
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2417 52acb1d6-8a22-11de-b505-999d5b087335
2009-01-22 09:38:50 +00:00
a086f18034 Implements LIBOMV-437: Need Client.Avatars.OnAvatarAnimation
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2416 52acb1d6-8a22-11de-b505-999d5b087335
2009-01-17 02:40:02 +00:00
Jim Radford
e1f7110a46 LIBOMV-434 Applies patch from Robin Cornelius - AppearanceManager - corrects cached bake issues, work in progress
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2415 52acb1d6-8a22-11de-b505-999d5b087335
2009-01-14 11:29:29 +00:00
Jim Radford
93910e094b LIBOMV-432 When requesting a copy item from a notecard, an ItemCopiedCallback is fired but it always uses the id 0 unlike the other standard inventory calls, which return a user specified unique ID.
LIBOMV-433 Patch attached that implements an AddToOutfit command that just adds the list (wearable) of InventoryBaseItems to the current appearance. 
Thanks to Robin Cornelius for the patches!

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2414 52acb1d6-8a22-11de-b505-999d5b087335
2009-01-14 11:24:54 +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
3444200bc1 * Fixed a null reference exception in ObjectManager where prim Properties was null while calling .Properties.SetFamilyProperties, and a related problem in TestClient. Also fixed a null reference exception in sculpt data for ExportCommand.cs
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2403 52acb1d6-8a22-11de-b505-999d5b087335
2009-01-05 18:01:37 +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
364c2c26d9 * Moved all capabilities code to the new library, OpenMetaverse.Http
* OpenMetaverse.Http contains a CAPS client + server, event queue client + server, SSL certificate generation (root CA, server certs, client certs), and client certificate authentication
* HttpServer.dll and Mono.Security.dll are new dependencies for OpenMetaverse.Http.dll

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2400 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-29 20:44:28 +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
1df78cb074 * Split up asset store and transfer manager in Simian into two extensions
* Added PeriscopeTransferManager to handle animation and sound transfers
* Misc. transfer bugfixes in libomv
* Misc. improvement to TexturePipeline and some numbers tweaking
* Attempted to pass object touch events through to foreign grid in Periscope, may not be working
* Added new chat commands in Periscope

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2385 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-19 03:39:29 +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
194752abc1 * Moved TexturePipeline into libOpenMetaverse (still needs to be instantiated separately)
* Moved TextureCache into its own file
* New version of Periscope, major improvements. Check the Simian.ini file for usage, and change the const values in Periscope.cs
* Lots of miscellaneous cleanups and improvements in Simian

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2383 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-17 03:49:42 +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
Latif Khalifa
674d4ea653 Allow setting appearance to continue even dispate some textures failing to bake properly [LIBOMV-420] - Patch by Robin Cornelius
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2378 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-14 02:01:21 +00:00
John Hurliman
a5ede98e87 * Added more DateTime/string/integer/float conversion methods for OSD types
* Slight fix to default output for login response serialization

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2377 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-11 01:36:47 +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
4b1f441574 * Sanity check in DeserializeLLSDXml() to return an empty LLSD block instead of throwing an exception
* Removing redundant code from OpenMetaverse.Utilities
* Using System.Diagnostics.StopWatch instead of Environment.TickCount for rate limiting, and speeding up packet sending from 75ms gaps to 10ms (might be slightly too fast, but it works for me)
* Cleaning up the logic a big in RequestAllSimParcels()
* Try/catch block in GridProxy around packet delegates

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2371 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-05 01:34:24 +00:00
John Hurliman
dd408d38fb * Fixed JSON->OSD deserialization error on empty strings
* Fixed exception strings in OpenJPEG.cs

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2369 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-01 23:58:45 +00:00
Jim Radford
c768eef6cc Removing Serializable attribute from ParcelInfo struct (was accidentally comitted previously and is unnnecessary)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2368 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-01 21:18:34 +00:00
Jim Radford
f9701dcbd7 Adds check/warning for GetParcelLocalID method if ParcelMap/Dictionary has not been previously populated
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2367 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-01 21:13:24 +00:00
John Hurliman
57704143e4 * Added locking to OpenJPEG encoding and decoding
* Better log output when OpenJPEG sanity check fails

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2364 52acb1d6-8a22-11de-b505-999d5b087335
2008-11-24 22:10:26 +00:00
John Hurliman
c4bcb8e2bc Added more sanity checking to JPEG2000 layer boundary decoding
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2362 52acb1d6-8a22-11de-b505-999d5b087335
2008-11-18 19:13:25 +00:00
John Hurliman
5fbcd0c4d6 * Moved OpenMetaverse.StructuredData to a separate library
* Added experimental JSON serialization/deserialization to OSD using LitJSON (works, but subject to change soon)
* Moved packet handling code out of Simian.cs

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2361 52acb1d6-8a22-11de-b505-999d5b087335
2008-11-18 03:16: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
aede2ea203 * Adding Packet.BuildPacket() function back, OpenSim uses it
* Converted ParcelAccessEntry.Flags to AccessList enum

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2359 52acb1d6-8a22-11de-b505-999d5b087335
2008-11-17 20:29:13 +00:00
John Hurliman
f11dd21677 * Forced struct alignment to 4-bytes for openjpeg-dotnet on Windows
* Removed padding hack from openjpeg
* Added sanity check to Simian when copying texture data
* Ignore common unused login parameters in Simian

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2357 52acb1d6-8a22-11de-b505-999d5b087335
2008-11-17 19:08:50 +00:00