Commit Graph

114 Commits

Author SHA1 Message Date
John Hurliman
808b681b83 * Fixed a nasty OSD->JSON bug that was producing invalid JSON for empty arrays or dictionaries
* Several fixes in OpenMetaverse.Http.CapsServer and OpenMetaverse.Http.EventQueueServer (this is the first time they've been tested)
[Simian]
* Initial capabilities and EventQueue support (appears to be working)
* HyperGrid is almost working
* More cleanup with how agents are removed from the scene

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2427 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-04 23:00:33 +00:00
John Hurliman
875aa0b6e8 * Some changes that should have gone in the previous commit
[Simian]
* Adding MapLocal extension to Simian, adds very basic world map, local teleporting, and a stub for HyperGrid teleports
* A few more small additions to ISceneProvider

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2426 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-03 18:49:00 +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
John Hurliman
81048b1010 Fixed a bug in coarse location packet sending
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2423 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-02 22:46:44 +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
John Hurliman
2c0ba2346a * Added a log4netLogWriter to OpenMetaverse.Http
* Started on capabilities support for Simian

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2404 52acb1d6-8a22-11de-b505-999d5b087335
2009-01-05 22:59:29 +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
John Hurliman
e611558add * Adding the first (of many to come) unit tests for Simian
* Removed Simian's Agent.AgentID, it was redundant with Agent.Avatar.ID
* Added IUDPProvider.OnOutgoingPacket to hook all outgoing Simian packets (for testing)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2386 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-21 02:09:54 +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
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
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
John Hurliman
f6628a86e7 * Sanity checks in DoubleDictionary.Add()
* Added DoubleDictionary indexing operators
* ExtensionLoader now prints out compile errors for .cs files
* ExtensionLoader silently skips assemblies that fail to load instead of throwing an exception

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2351 52acb1d6-8a22-11de-b505-999d5b087335
2008-11-14 20:10:41 +00:00
John Hurliman
99b3b74cd6 * More cleanup to acking and resending in libomv and Simian
* Fixed typo in Simian.ini that was disabling connection management
* Replaced several unnecessary foreach loops in Simian with dictionary lookups
* Simian now uses the last detected system IP address instead of the first

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2342 52acb1d6-8a22-11de-b505-999d5b087335
2008-11-10 18:00:05 +00:00
John Hurliman
126ccc79bb * Added a List<string> extensionList param to ExtensionLoader.LoadAllExtensions() to only load whitelisted extensions (used in conjunction with .ini file support)
* Modified ExtensionLoader .ini support to allow values with no keys by default
* Added Simian .ini file config support
* Merged Simian's CoarseLocationUpdates extension into AvatarManager

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2328 52acb1d6-8a22-11de-b505-999d5b087335
2008-11-06 23:41:07 +00:00
John Hurliman
61c8451fac * Allow HttpServer AddHandler() and RemoveHandler() while the server is running
* Simplified HttpServer calback exception handling
* Fixed a recently introduced typo in LLSD binary serialization
* Allow LLSD binary serialization to work with any Stream instead of only MemoryStream
* Improved Utils.HexStringToBytes(), changed function signature
* Added an efficient Utils.EnumTryParse<T>()

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2323 52acb1d6-8a22-11de-b505-999d5b087335
2008-11-05 01:50:24 +00:00
John Hurliman
f53aee6fa8 Renaming LLSDParser to OSDParser since it will encompass more than just LLSD parsing in the future
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2322 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-30 16:54:17 +00:00
John Hurliman
bad3108ddf * Renamed LLSD to OSD. The LLSD-specific (de)serialization functions have been renamed to specify they use LLSD. Other serialization formats will be added in the future, along with better native support for vectors and unsigned integers
* Added Utils.SHA1()

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2321 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-30 01:50:59 +00:00
John Hurliman
dad28f767a * HttpRequestSignature uses regular expressions for the path now
* Added a simplified HttpListener.AddHandler() overload
* Lots of improvements in ExtensionLoader, simplified interface
* Updated Simian to latest ExtensionLoader

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2316 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-29 20:11:28 +00:00
8b2875f0d7 Simian: Fixed "bouncing" when jump button is held. A new jump is now started each time the avatar lands.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2297 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-12 16:17:45 +00:00
d68cc44214 Simian: Fixed link/unlink math by using Vector3.Transform
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2296 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-12 14:49:23 +00:00
John Hurliman
046a778b09 Applying [LIBOMV-395] from Jeff Ames to comment out dead code and fix lots of compiler warnings
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2284 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-09 16:48:44 +00:00
John Hurliman
29026f68f0 * Implemented asset and appearance persistence in Simian
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2283 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-09 04:50:03 +00:00
John Hurliman
003eb8a220 * Added a download command to TestClient to download non-texture assets
* ls -l in TestClient now also prints AssetIDs
* Removed ExportOutfit and ImportOutfit, they didn't work
* Added default eyes and more clothing textures to Simian. Appearance is working for me now. Appearance won't persist until we have a persistent asset store

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2282 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-09 01:55:46 +00:00
John Hurliman
e180f7a612 * Added Helpers.SplitBlocks() that calculates how to split multiple blocks into multiple packets
* Fixed a typo in TestClient login command usage
Simian:
* Asset uploads were returning the TransactionID instead of the AssetID causing uploads to seemingly fail
* Added ISceneManager.AvatarAppearance and OnAvatarAppearance
* Added UI sounds from OpenSim and sound asset loading
* Split up FetchInventoryReply and InventoryDescendents into multiple packets when necessary

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2281 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-08 22:10:14 +00:00
John Hurliman
419f4485a7 Simian:
* Cleaned up ImageDelivery
* Implemented CopyItemInventory
* Serialize with indented XML
* Only read an inventory skeleton if the login succeeded

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2274 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-07 19:12:06 +00:00
John Hurliman
6e52169c9d * MoveInventoryItem, MoveInventoryFolder, and PurgeInventoryDescendents added to Simian. Untested
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2272 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-07 06:22:27 +00:00
John Hurliman
df47694569 * Fixed Simian packet resend bug, agents should properly time out now
* Force Simian inventory permissions to full for now
* Small LoginResponseData.ToXmlRpc() improvements

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2270 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-07 02:06:29 +00:00
John Hurliman
731c22045d Small fix in Simian's AuthFreeForAll to get persistent inventory functioning. Make sure to delete simian-data.xml and your SL cache first
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2269 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-07 01:05:19 +00:00
John Hurliman
b3380d2c11 * Add exclusion of UtilsConversion.cs to prebuild.xml, should fix the build
* First stab at working inventory persistence

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2268 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-07 00:42:05 +00:00
John Hurliman
3e5fcb7fab * Moving conversion functions from Helpers to Utils (in OpenMetaverseTypes)
* Added GetLLSD() and FromLLSD() to Permissions
* Started on inventory persistence for Simian

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2267 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-06 22:34:38 +00:00
John Hurliman
0f792a1404 * Changed AgentThrottle documentation to bits instead of bytes, thank you justincc
* Reduced memory usage in Simian ParcelManager by storing parcel overlay as 4x4 blocks

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2265 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-06 19:11:32 +00:00
John Hurliman
644d415e60 * Added ExtensionLoader, a generic plugin system with internal, external assembly, and source file plugin loading as well as interface binding
* Switched Simian over to ExtensionLoader

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2258 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-05 22:05:18 +00:00
cfff91f0b9 Simian: Fixed crash when linking several prims together caused by oversized ObjectProperties and UpjectUpdate packets. Cleaned up some unnecessary "using" statements.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2256 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-03 22:14:18 +00:00
6c1e9a0e7b Simian: Added support for prim texturing
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2255 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-03 08:11:32 +00:00
John Hurliman
86679aa74d Working image delivery server (first correct implementation ever)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2253 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-01 00:19:53 +00:00
John Hurliman
02ebca8b02 Simian:
* OutgoingPacket fixes, needs more testing with slow/disconnected clients
* Switch AvatarPropertiesRequestHandler to use actual profile data
* Switch AvatarWearablesRequestHandler to use actual wearables data
* Respond to AgentCachedTexture inquiries with empty cache data
* Improve UUIDNameRequest performance

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2252 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-01 00:17:49 +00:00
John Hurliman
eaaef001fb Simian:
* Added more profile fields to Agent
* Removed inventory hack from AccountManager
* Create an inventory skeleton in AuthFreeForAll
* Simplify logout process with DisconnectClient()
* Handle FetchInventory
* Added CreateFolder and CreateRootFolder to IInventoryProvider

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2251 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-01 00:12:59 +00:00
John Hurliman
a23f41fdca Simian:
* First pass at persistence support
* Fixed a chat crashing bug
* Remove avatars from the scene on logout
* Sanity check before adding objects to the scene in ObjectAdd
* Sanity check in CompleteAgentMovementHandler if the avatar is already in the scene
* Added ContainsKey() to DoubleDictionary

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2245 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-28 21:28:10 +00:00
John Hurliman
e7ce3997dc Adding AuthFreeForAll and AccountManager extensions to Simian to return things back to the original functionality. Additionally, user accounts are stored, passwords are checked after the first login, and the pieces are moving into place for account persistence to XML
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2239 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-24 15:06:59 +00:00
John Hurliman
8eef021fa7 Simian:
* Added lots of members to Agent, preparing for serialization
* Added Clear() and Count to DoubleDictionary
* Moved CreateCircuit and unassociatedAgents functionality out of Simian core and into UDPServer extension

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2237 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-24 14:55:52 +00:00
John Hurliman
1e9ee1f5b6 Simian:
* Moved water height to ISceneProvider
* Removed + 3m hack for prim placement
* Added ParcelPropertiesUpdate handler. Media textures are working now

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2235 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-22 16:33:42 +00:00
John Hurliman
858b230e6b * Added IParcelProvider and ParcelManager that provide very basic parcel information
* More sane default flags in Simian RegionHandshake

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2234 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-22 15:11:39 +00:00
cbf46e562e Changed Simian ping timeout to 60 seconds instead of 10.
Removed unnecessary references to System.Threading.
Fixed missing i++ in UUIDNameReply response loop.
Added preliminary support for friendships (still needs to reference the proper calling card folder)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2230 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-21 18:10:17 +00:00
76bbff3c66 Fixed Simian instant message functionality between avatars (AgentID was not set in the AgentData block)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2226 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-16 00:11:22 +00:00
John Hurliman
805fb7c18d Simian:
* Decode layer boundaries when storing a texture asset
* Started fleshing out correct texture downloading
* Add avatars to the scene along with prims

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2224 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-15 23:17:21 +00:00
John Hurliman
b10804c725 * Added ObjectDuplicate support to Simian
* Improved Simian PrimFlags handling for newly created objects

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2220 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-14 08:12:11 +00:00