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
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
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
2dc837eff1 Simian: fixes previous commit
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2469 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-05 22:33:30 +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
Latif Khalifa
b8c082beac add ability to chain login request and response delegates (LIBOMV-449). Patch by Dahlie
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2449 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-20 18:05:00 +00:00
John Hurliman
21317bcee4 Added a login URL dropdown to GridImageUpload
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2447 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-19 18:43:43 +00:00
John Hurliman
0e69e5d12f Fixing Prebuild issues with visual studio WinForms projects
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2446 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-19 18:34:48 +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
f6c6eb13b2 [TC-59] Applying patch from dahlia to fix the primregex command in TestClient
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2442 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-17 19:00:08 +00:00
John Hurliman
471c99e458 Thank you Dan Lake, for patches to TestClient:
* Login command now supports starting location
* Added comment character for script files (either ; or # may be used as first non-whitespace on a line)
* Shout and whisper commands no longer encode extra whitespace to end of messages
* Modified say command to the same format as whisper and shout commands

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2438 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-17 18:29:00 +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
946819f0f4 Fixed a bug in the Simian SceneManagerTests
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2433 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-09 07:34:53 +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
Latif Khalifa
5a731af4e0 Fixed region crossings when using GridProxy (Patch by Day Oh). Fixes LIBOMV-440 LIBOMV-436
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2431 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-08 08:24:35 +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
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
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
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
aebfd35507 Attempting to fix a prebuild regression that broke WinForms in VS200x
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2413 52acb1d6-8a22-11de-b505-999d5b087335
2009-01-10 01:37:32 +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
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
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
74fc54a786 Updating Prebuild source to match the binary in trunk/bin/Prebuild.exe
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2399 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-22 06:51:23 +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
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
1b544e0bc0 Fixed previous commit (corrupted in the patch process?)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2375 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-07 02:17:55 +00:00
a1a92dd7aa Initial version of SimExport, saves simulator data in OpenSim OAR format
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2374 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-07 00:35:32 +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
d816950d40 Make TestClient logins always obey the --loginuri parameter
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2370 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-03 20:52:29 +00:00
Jim Radford
9fa63a6d5c TC-53 Added Experimental movement command that allows an avatar to use movement controls to fly to a specific point in a sim Thanks to Cla Hyun for the command
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2366 52acb1d6-8a22-11de-b505-999d5b087335
2008-11-29 02:20:53 +00:00
Jim Radford
c77573a296 TC-55 Adds check to login command, displays usage information instead of throwing an exception if no args are passed
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2365 52acb1d6-8a22-11de-b505-999d5b087335
2008-11-29 02:08:34 +00:00