Commit Graph

128 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
John Hurliman
7e0529d58d [Simian]
* SimulationObject.GetWorldMesh() now has an option to force rebuild
* RayTriangleIntersection returns the actual collision point
* PhysicsSimple regenerates meshes when objects are moved or edited

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2476 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-09 03:01:34 +00:00
6f7df8ea1b [Simian]
* Tweaked inertia values for falling avatars
* First pass at avatar/object collision physics

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2474 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-06 16:32:03 +00:00
John Hurliman
a464b54dd1 [Simian]
* Added an IPhysicsProvider and a PhysicsSimple implementation that provides basic physics-related functionality. Currently only ray/prim intersection and getting a prim's mass
* Initial prim CRC handling
* Porting some LSL fixes from OpenSim

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2473 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-06 02:10:52 +00:00
193a7c531b Simian:
* Fixed avatar rotation not being locked while sitting
* Fixed owner info being lost on link/unlink
* First pass at attachment support

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2468 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-05 22:09:58 +00:00
John Hurliman
96acab524b [Simian]
* Fixed object duplication regression
* Cleaned up the mess that was adding an agent to the scene
* Sitting kind of works ("proper" sitting is extremely complex and requires a lot of computation)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2466 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-03 22:25:29 +00:00
John Hurliman
871ffb42a6 [Simian]
* Clearing up confusion with Agent.Avatar by making it a SimulationObject that is passed in through the constructor. This should prevent duplicate notions of an avatar in the scene
* Fixed the "you don't own this object" issue after moving a prim. The fix is rather hacky and will be replaced when we stop sending full object updates for every change

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2465 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-03 21:01:57 +00:00
c8312a0777 Simian: Committing first pass at sit/unsit support (offset is still incorrect)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2464 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-03 19:08:04 +00:00
John Hurliman
18b5f70e53 [Simian]
* (Untested) implementation of ObjectExtraParamsHandler
* Fixed several mono compiler warnings and one compiler error
* Converted to a non-deprecated method of fetching the local IP address

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2463 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-02 23:43:12 +00:00
John Hurliman
abf0c15384 [Simian]
* Completed a partial port of OpenSim's LSL API. Thank you to everyone on the OpenSim team for their hard work on this incredibly large feature
* Added Agent.GetSimulatorPosition()
* Corrected default PrimFlags for agents and prims
* Stubs for encoding/decoding prim linkset assets
* Route chat through the scene
* Stub for grid messaging (IM and email)
* Add GetTerrainHeightAt(), removed duplicate heightmap storage in Movement.cs
* Added a permissions manager stub
* Store wind speeds, added functions to get wind speed
* Make sure all of the important prim properties are set before creating an object
* Lots of new object manipulation functions in scene
* Properly clean up event queues on agent exit
* Stubbed out a space for a scripting engine
* Stubbed out task inventory
* Added ScriptingConsole, which allows you to run LSL functions from the chat console
* Added new PacketCategory, Messaging, for chat-related packets
* Fixed InventoryObject overrides
* Added a NotecardCache, useful for the scripting engine and may become generally useful later
* Added several helper functions and new members to SimulationObject

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2462 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-02 23:00:28 +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
3b3946244a * Updating OpenMetaverse.Http and Simian to new HttpServer.HttpListener.Create() requirement for an ILogWriter
* Move more state updates into ISceneProvider
* Lazy initialization of mesh data for SimulationObjects

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2436 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-13 22:21:01 +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
John Hurliman
06404ab4e4 * Fixed endianness for OSD handling of uint, long, and ulong (big endian byte arrays are used)
* Fixed CapsServer to handle all content types (old SL clients were sending application/xml, new ones send application/llsd+xml)
* Start the EventQueue ID at 1 (seems to help)
* HyperGrid teleporting is now working in Simian

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2428 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-05 03:12:41 +00:00
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