Commit Graph

239 Commits

Author SHA1 Message Date
John Hurliman
692d2927a9 * Add a copy constructor to IRendering.SimpleMesh
[Simian]
* Avoid remeshing whenever possible by reverting back to using the untransformed mesh for the world mesh generation
* Add forceMeshing and forceTransform booleans to SimulationObject to specify when a new untransformed mesh needs to be generated and when the transformation needs to be reapplied

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2477 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-09 18:20:19 +00:00
Robin Cornelius
4973542628 Do not force the group flag to true in the ChatterBoxInvitationHandler, but instead use what the CAPS reply told us, as its the only way to tell the difference between a group IM invite and a friends confrence invite
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2475 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-07 18:37:51 +00:00
John Hurliman
ac784d54aa Thank you nephrael for pointing out a bug where Avatar.RegionHandle was always 0 for incoming avatars
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2472 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-06 01:58:58 +00:00
John Hurliman
ac354b5fb0 * Cleaned up GetBytes/ToBytes in OMV types to eliminate duplicate code
* Fixed a typo in the previous commit for Utils.EmptyBytes
* Switched _Packets_.cs over to the new ToBytes() functions, should significantly reduce the number of temporary byte arrays allocated

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2471 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-06 01:55:22 +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
47c28cb568 Fixed an NRE on NameValues in the Avatar.Name getter
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2467 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-04 23:32:17 +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
Robin Cornelius
2358b16225 LIBOMV-454 Implement CAPS version of starting IM conferences and also implement CAPS ChatterBoxAcceptInvite for accepting invites to join conferences
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2459 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-02 11:53:26 +00:00
Robin Cornelius
993763515e Import Serialization support for InventoryNodes and things derived from InventoryBase, to allow serialization of inventory to and from disk
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2458 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-26 20:41:39 +00:00
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