Commit Graph

220 Commits (f5d25981acb085622eab64fd27b74eda4eba0c9e)

Author SHA1 Message Date
Revolution fe06f0dd05 Fixes Region Crossings on a prim. 2010-01-24 11:35:30 +00:00
unknown e61f42ad3a add a target position to agent updates to ScenePresence to support alternative client protocols 2010-01-21 23:59:04 -08:00
Revolution 14e62c096d Fixes llSetDamage. Patch from Revolution 2010-01-21 23:30:49 +00:00
Diva Canto ee1fb81376 Finished moving object crossings into EntityTransferModule 2010-01-16 08:42:20 -08:00
Diva Canto bd6d1a2444 Moved prim crossing to EntityTransferModule. Not complete yet. 2010-01-16 07:46:07 -08:00
Diva Canto 4ac3c0e81b Renamed IAgentTransferModule to IEntityTransferModule -- accounts for objects too. 2010-01-15 17:14:48 -08:00
Diva Canto f1c30784ac * General cleanup of Teleports, Crossings and Child agents. They are now in the new AgentTransferModule, in line with what MW started implementing back in May -- ITeleportModule. This has been renamed IAgentTransferModule, to be more generic.
* HGSceneCommunicationService has been deleted
* SceneCommunicationService will likely be deleted soon too
2010-01-15 15:11:58 -08:00
Diva Canto 640712fe88 * Removed debug messages.
* Everything works! (everything that was tested; lots of things to test)
2010-01-13 09:38:09 -08:00
Diva Canto 66920a9047 Fixed more appearance woes that showed up using remote connectors. Appearance is now being passed with AgentCircuitData, as it should be. 2010-01-12 09:22:58 -08:00
Diva Canto 77e43f4801 Fixed a couple of bugs with Appearance. Appearance is all good now. 2010-01-11 17:30:05 -08:00
Diva Canto c5ea783526 OpenSim/Framework/Communications/Cache deleted. LibraryRootFolder deleted. 2010-01-11 07:51:33 -08:00
Diva Canto 0c2946031b CommunicationsManager is practically empty. Only NetworkServersInfo is there. 2010-01-10 19:42:36 -08:00
Diva Canto 1e1b2ab221 * OMG! All but one references to UserProfileCacheService have been rerouted!
* HG is seriously broken here
* Compiles. Untested.
2010-01-10 10:40:07 -08:00
Diva Canto f11a97f12d * Finished SimulationServiceConnector
* Started rerouting calls to UserService.
* Compiles. May run.
2010-01-07 15:53:55 -08:00
Jeff Ames 70d5b1c34c Formatting cleanup. Add copyright headers. 2010-01-04 06:17:30 +09:00
Teravus Ovares (Dan Olivares) e6c71d6df6 * Fixes Sitting on the ground. 2009-12-30 15:55:49 -05:00
Teravus Ovares (Dan Olivares) 16a64c400b * Makes forward and backward key reactions faster by responding to the NUDGE type movements. 2009-12-30 15:01:14 -05:00
Justin Clark-Casey (justincc) 6bd087a8f9 minor: remove some mono compiler warnings 2009-12-15 16:42:42 +00:00
Teravus Ovares (Dan Olivares) 0639e90f56 * Bugfix mantis 4441, "Use of Autopilot isn't playing any animations."
* Turns out the new animator used a different movement bitflag then the one used in the code to autopilot the avatar
2009-12-12 02:41:59 -05:00
Teravus Ovares (Dan Olivares) 2f8b9cbf2b * Commit some sit code that's commented out for now. 2009-12-08 11:28:13 -05:00
Teravus Ovares (Dan Olivares) 8d196dbd14 * Adds Normal to the fields returned by the Physics Raycaster
* Fixes recognizing when a sit target is and isn't set.
* * 1. Vector3.Zero.
* * 2. Orientation: x:0, y:0, z:0, w:1 - ZERO_ROTATION
* * (or) Orientation: x:0, y:0, z:0, w:0 - Invalid Quaternion
* * (or) Orientation: x:0, y:0, z:1, w:0 - Invalid mapping, some older objects still exist with it
2009-12-05 22:18:00 -05:00
Teravus Ovares (Dan Olivares) c4b6010fb3 * Fixes mantis 4416. Animator is dereferenced on logout 2009-12-05 13:01:21 -05:00
Teravus Ovares (Dan Olivares) 475d23741d * Fix Inconsistent line ending style in ScenePresence 2009-12-01 10:17:17 -05:00
Teravus Ovares (Dan Olivares) 83694e5578 * Add a close method to the ScenePresenceAnimator that dereferences the class variables and make the ScenePresence Close method call it. 2009-11-30 14:03:20 -05:00
Teravus Ovares (Dan Olivares) 0cb4ff1b68 * Modified ScenePresence to use the Util version of the EnvironmentTickCount method (and it's subtract method). Remove redundant EnvironmentTickCount definitions in ScenePresence. 2009-11-30 13:53:43 -05:00
Teravus Ovares (Dan Olivares) 4338f4e1d7 * Patch from Misterblue to fix Environment.TickCount for statistics purposes. Resolves the wrap-around of the 32 bit uint.
* Teravus moved the Environment methods to the Util class
2009-11-29 05:06:25 -05:00
Teravus Ovares (Dan Olivares) a642968fd5 * Reverting last commit.. because it just made it worse. 2009-11-25 04:00:52 -05:00
Teravus Ovares (Dan Olivares) abddb60b8d * Attempt number 1 to stop the repeating crouch animation that sometimes happens.
* This tries to address it by correcting one potential bug where it never resets the falltimer.
* This tries to address it by telling Physics that we're not flying this step..  instead of waiting until the next step when the next agent update comes along.
2009-11-25 02:51:11 -05:00
Jeff Ames 9f5c2acd12 Formatting cleanup. 2009-11-23 11:26:06 +09:00
Teravus Ovares (Dan Olivares) c155099faf * The client prevents the avatar from landing if the avatar is going above an unknown certain speed, so, add a speed check on the server.
* This addresses the 'hump the prim' animation playing while you're moving forward full speed and pressing page down over a prim to land.
2009-11-22 19:26:00 -05:00
Teravus Ovares (Dan Olivares) f7916d10f3 * This fixes landing on Prim and removes the hack from yesterday. Landing on prim should work fine again. 2009-11-21 19:38:38 -05:00
Teravus Ovares (Dan Olivares) 247fc00ce7 * Hack to get avatar to land on prim. This is a big nasty hack that tricks the client into thinking you're landing on the terrain. There are some visual artifacts when you land. It's only temporary until we figure out how this broke. 2009-11-21 06:39:28 -05:00
Justin Clark-Casey (justincc) 4baac71a5e refactor: Eliminate redundant CreateSceneViewer call on ScenePresence constructors since this is also done on other called constructors 2009-11-17 18:44:57 +00:00
Justin Clark-Casey (justincc) 710a2afd12 Add scene animator set up to apparantly uncalled no-arg ScenePresence constructor 2009-11-17 16:40:59 +00:00
Justin Clark-Casey (justincc) da255be05a refactor: move AvatarAnimations, BinBVHAnimation 2009-11-17 16:25:52 +00:00
Justin Clark-Casey (justincc) 1324082b90 refactor: move most animation methods from ScenePresence into a new ScenePresenceAnimator class 2009-11-17 15:05:40 +00:00
dahlia 2e24415077 undo previous changes
add a GetGroupByPrim() method to Scene.cs
delete a redundant method
2009-11-13 22:13:40 -08:00
John Hurliman afef1ac191 Changing the AssetBase constructors to avoid initializing assets with an unknown asset type, and log an error if it ever does happen 2009-11-05 13:10:58 -08:00
John Hurliman f57a646638 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2009-11-04 16:08:23 -08:00
John Hurliman ec2ebf2598 Removing EntityBase.Rotation 2009-11-04 16:08:10 -08:00
Justin Clark-Casey (justincc) 9dd5d63495 minor: remove some mono compiler warnings 2009-11-04 19:44:28 +00:00
John Hurliman 8a73dc0f8a * Fix for a potential race condition in ScenePresence.AbsolutePosition
* Unified the way region handles are stored and used in ScenePresence
* Fixed camera position for child agents
* CheckForSignificantMovement now checks avatar and camera position (both are important for scene prioritization)
* Removing debug code from the previous commit
2009-10-30 03:01:15 -07:00
John Hurliman aecaa51063 * Fixed a NullReferenceException in GetMovementAnimation() and added more protection against NREs in AddNewMovement()
* Removed the three second limit on ImprovedTerseObjectUpdate. With the latest fixes I don't think this is necessary, and it generates a lot of unnecessary updates in a crowded sim
2009-10-29 16:31:48 -07:00
John Hurliman 2913c24c8a * Commented out two noisy debug lines in the LLUDP server
* Misc. cleanup in ScenePresence.HandleAgentUpdate()
2009-10-29 15:24:31 -07:00
John Hurliman 5c894dac8b * Implemented foot collision plane for avatars
* Fixed a NullReferenceException regression
2009-10-29 05:34:40 -07:00
John Hurliman 3f2d6fe470 Ported the Simian avatar animation system to OpenSim. Landing is currently not working 2009-10-29 04:13:51 -07:00
John Hurliman fd2c99f184 Fixing NullReferenceException regression in the previous commit 2009-10-29 02:10:48 -07:00
John Hurliman 7132877075 * Log progress messages when loading OAR files with a lot of assets
* Change the PhysicsCollision callback for objects to send full contact point information. This will be used to calculate the collision plane for avatars
* Send the physics engine velocity in terse updates, not the current force being applied to the avatar. This should fix several issues including crouching through the floor and walking through walls
2009-10-29 01:46:58 -07:00
John Hurliman 59eb378d16 Small performance tweaks to code called by the heartbeat loop 2009-10-28 23:10:16 -07:00
John Hurliman b81c829576 * Standalone logins will now go through the sequence of "requested region, default region, any region" before giving up
* Hip offset should have been added not subtracted (it's a negative offset). This puts avatar feet closer to the ground
* Improved duplicate checking for terse updates. This should reduce bandwidth and walking through walls
2009-10-28 14:13:17 -07:00
John Hurliman a65c8cdc38 * Reduce the velocity tolerance on sending terse updates to avoid slowly drifting prims/avatars
* Added contacts_per_collision to the ODE config section. This allows you to reduce the maximum number of contact points ODE will generate per collision and reduce the size of the array that stores contact structures
2009-10-28 12:45:40 -07:00
John Hurliman cdbeb8b83b Track timestamps when terse updates were last sent for a prim or avatar to avoid floating away forever until a key is pressed (deviates from SL behavior in a hopefully good way) 2009-10-28 03:21:53 -07:00
John Hurliman d199767e69 Experimental change of PhysicsVector to Vector3. Untested 2009-10-26 18:23:43 -07:00
John Hurliman b6651ce790 * Double the priority on avatar bake texture requests to get avatars rezzing in faster than the surrounding scene
* Adds duplicate tracking for SceneObjectParts and ScenePresences to avoid sending out duplicate ImprovedTerseObjectUpdate packets
2009-10-26 18:22:32 -07:00
John Hurliman de25dcfb7b Minor tweaks to get OpenSim compiling against both the current libomv and the upcoming 0.8.0 2009-10-25 01:10:02 -07:00
John Hurliman 62f1a5e36d Implemented a "FrontBack" prioritizer, using distance plus the plane equation to give double weight to prims/avatars in front of you 2009-10-23 02:38:59 -07:00
John Hurliman 588361e2a2 Experimental change to use an immutable array for iterating ScenePresences, avoiding locking and copying the list each time it is accessed 2009-10-23 01:02:36 -07:00
John Hurliman ba2972eaf6 * Send out m_bodyRot everywhere instead of m_rotation. Still have no clue which is right
* Fix WorldMapModule.process() to not trip the watchdog timer
2009-10-22 14:33:54 -07:00
John Hurliman 4ba3842d71 Forgot to hit save in the last commit 2009-10-22 13:24:24 -07:00
John Hurliman 167d8e39fa * Sending (position - hipoffset) instead of position
* Sending m_rotation instead of m_bodyRot in full updates to match terse updates (no idea which one is right!)
2009-10-22 13:14:41 -07:00
John Hurliman 1833c69568 * Removed the unused m_agentUpdates collection and some extra work that was being done for AgentUpdate packets
* Start LLUDPClients unpaused (this variable is not being used yet)
2009-10-20 15:19:19 -07:00
John Hurliman 233e16b99c * Rewrote the methods that build ObjectUpdate and ImprovedTerseObjectUpdate packets to fill in the data more accurately and avoid allocating memory that is immediately thrown away
* Changed the Send*Data structs in IClientAPI to use public readonly members instead of private members and getters
* Made Parallel.ProcessorCount public
* Started switching over packet building methods in LLClientView to use Util.StringToBytes[256/1024]() instead of Utils.StringToBytes()
* More cleanup of the ScenePresences vs. ClientManager nightmare
* ScenePresence.HandleAgentUpdate() will now time out and drop incoming AgentUpdate packets after three seconds. This fixes a deadlock on m_AgentUpdates that was blocking up the LLUDP server
2009-10-18 20:24:20 -07:00
John Hurliman fdb2a75ad3 Committing the second part of Jim Greensky @ Intel Lab's patch, re-prioritizing updates 2009-10-17 18:01:22 -07:00
John Hurliman 9c21d672d4 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into prioritization 2009-10-16 18:32:12 -07:00
Teravus Ovares (Dan Olivares) 01051daaab * One more tweak to inform the user that they may not be able to move until relogging. 2009-10-16 21:24:08 -04:00
John Hurliman 06354a093d Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into prioritization 2009-10-16 10:09:19 -07:00
Teravus Ovares (Dan Olivares) 67afa9e633 * Make sure to unregister the OutOfBounds Physics event in RemoveFromPhysicalScene or we'll be leaking 2009-10-16 03:52:57 -04:00
Teravus Ovares (Dan Olivares) ac2f98b846 * A hacky attempt at resolving mantis #4260. I think ODE was unable to allocate memory, and therefore the unmanaged wrapper call fails or worse.. there's some unmanaged resource accounting in the ODEPlugin for ODECharacter that isn't being done properly now.
* The broken avatar may not be able to move, but it won't stop simulate from pressing on now.   And, the simulator will try to destroy the avatar's physics proxy and recreate it again...    but if this is what I think it is, it may not help.
2009-10-16 03:32:30 -04:00
John Hurliman 4b75353cbf Object update prioritization by Jim Greensky of Intel Labs, part one. This implements a simple distance prioritizer based on initial agent positions. Re-prioritizing and more advanced priority algorithms will follow soon 2009-10-15 16:35:27 -07:00
John Hurliman d44b50ee46 * Removed some of the redundant broadcast functions in Scene and SceneGraph so it is clear who/what the broadcast is going to each time
* Removed two redundant parameters from SceneObjectPart
* Changed some code in terse update sending that was meant to work with references to work with value types (since Vector3 and Quaternion are structs)
* Committing a preview of a new method for sending object updates efficiently (all commented out for now)
2009-10-15 15:25:02 -07:00
Teravus Ovares (Dan Olivares) 6d3d985511 * Request from lkalif to have the Sim send a coarselocationupdate for each avatar in the sim, including yourself.
* Apparently the LLClientView should have been doing this previously..      Also fixed the 'You' on the index block..   so the client doesn't display an extra green dot.
* Thanks lkalif for bringing it to our attention.
2009-10-15 02:01:29 -04:00
John Hurliman 4790f8576c * Replaced (possibly broken?) math for calculating the unix timestamp in MySQLAssetData with Utils.DateTimeToUnixTime()
* Disabled UpdateAccessTime() function since it was only writing zeros anyways. This gave me a significant performance improvement for startup times and avatar logins in standalone mode
* Load attachments asynchronously so avatars with lots of attachments don't have to race the timeout clock to login
2009-10-14 19:23:44 -07:00
Teravus Ovares (Dan Olivares) 8271528b1f * comment out the velocity test, using updates every 500 ms as set in ScenePresence.AddToPhysicalScene.
* This causes time to be counted in ODECharacter and, when a collision occurs, the physics scene will report the collisions only if the the difference of last time it reported the collisions from now was more then the set ms.
* This is cool because the time accrues while collisions are not taking place and when they do take place again, you get an immediate update.
2009-10-10 04:01:36 -04:00
Teravus Ovares (Dan Olivares) 3f0dc88c46 Merge branch 'master' of ssh://MyConnection/var/git/opensim 2009-10-10 03:54:10 -04:00
Teravus Ovares (Dan Olivares) 4ffe936ba8 * Make ODECharacter respect the scene's requested collision update time
* Set the Scene collision update time to 500 ms
2009-10-10 03:53:53 -04:00
dahlia d7654c3bda Adjust velocity threshold for triggering flailing. Thanks to KittoFlora for researching this. 2009-10-10 00:26:43 -07:00
Teravus Ovares (Dan Olivares) 5f94889044 * Fix incorrect math on the Velocity check in PhysicsCollisionUpdate. This may reduce avatar flailing. 2009-10-10 01:49:06 -04:00
Teravus Ovares (Dan Olivares) 798bce592f * Move the 'On Collision Update Movement Animation' routine to above the 'm_invulnerable' test. It doesn't fix anything but it should really be there anyway. 2009-10-10 01:16:34 -04:00
Melanie 31d8cec0f8 Merge branch 'master' into diva-textures 2009-10-02 08:23:38 +01:00
Jeff Ames 606e831ff5 Formatting cleanup. 2009-10-01 09:38:36 +09:00
John Hurliman 5dfd2643df * Change the signature of the agent set appearance callback to prevent unnecessary serialization/deserialization of TextureEntry objects and allow TextureEntry to be inspected for missing bakes
* Inspect incoming TextureEntry updates for bakes that do not exist on the simulator and request the missing textures
* Properly handle appearance updates that do not have a TextureEntry set
2009-09-30 15:53:03 -07:00
Jeff Ames ee205e7e81 Formatting cleanup. 2009-10-01 01:17:47 +09:00
Diva Canto 5757afe766 First pass at the heart surgery for grid services. Compiles and runs minimally. A few bugs to catch now. 2009-09-26 07:48:21 -07:00
nlin 56edbe9b60 Alternate algorithm for fixing avatar capsule tilt (Mantis #2905)
Eliminate dynamic capsule wobble. Instead introduce a small, fixed
tilt, and allow the tilt to rotate with the avatar while moving; the
tilt always faces away from the direction of avatar movement. The
rotation while moving should eliminate direction-dependent behavior
(e.g. only being able to climb on top of prims from certain directions).

Falling animation is still too frequently invoked.

Ideally the tilt should be completely eliminated, but doing so
currently causes the avatar to fall through the terrain.
2009-09-18 11:39:08 +09:00
Teravus Ovares (Dan Olivares) 4241cdc929 * More comments in the RegionCombinerModule
* Changed the Destination ID to 0 in the TeleportFinish Event (why did we have it as 3?)
* Added border based trigger teleports
* Fix MakeRootAgent border cross tests for ensuring that the position is inside the region to use the borders to figure out if it's outside the Region
2009-09-13 07:20:18 -04:00
Teravus Ovares (Dan Olivares) 855fb58c96 * Moves ScenePresence SendCourseLocations to a delegate and provide a method to replace the delegate
* RegionCombinerModule replaces this delegate and distributes the CoarseLocationUpdates through the client connection in the region where the user would be if it was a separate region.
* Fixes Mini Map display on combined regions.
2009-09-05 02:58:35 -04:00
Teravus Ovares (Dan Olivares) b997174d08 * Fix attachment cross issues with new borders. 2009-08-31 20:07:33 -04:00
Teravus Ovares (Dan Olivares) 9eb8c14e87 * Deal with teleports to other virtual regions in the same scene. 2009-08-28 19:42:28 -04:00
Teravus Ovares (Dan Olivares) 66c40dd3de * Switch border cross tests over to the new Border class.
* Use List<Border> for each cardinal to allow for irregular regions.
2009-08-20 19:24:31 -04:00
Teravus Ovares (Dan Olivares) de543002aa Add Border (a virtual border management class)
Move Cardinals to it's own file.
2009-08-19 14:43:03 -04:00
Diva Canto 550d0e434f Removing the conditional for assetID=Zero upon rezzing attachments on login. 2009-08-16 19:21:19 -07:00
Diva Canto 5d47e08dad Removed some debug messages 2009-08-16 17:11:20 -07:00
Diva Canto e02062051d Making attachments work again. Tons of debug more. This needs more testing and a lot of cleaning. 2009-08-16 16:17:19 -07:00
Diva Canto 6b9cc6c48d Inventory redirects from CachedUserInfo to InventoryService COMPLETE! 2009-08-13 11:30:29 -07:00
Teravus Ovares (Dan Olivares) 2b990a61bf This is the second part of the 'not crash on regionsize changes'. This lets you configure region sizes to be smaller without crashing the region. I remind you that regions are still square, must be a multiple of 4, and the Linden client doesn't like anything other then 256. If you set it bigger or smaller, the terrain doesn't load in the client, the map has issues, and god forbid you connect it to a grid that expects 256m regions. 2009-08-07 20:31:48 -04:00
Justin Clark-Casey (justincc) 615e1ed285 goose panda 2009-08-06 20:04:40 +01:00
Teravus Ovares 4cbf0444df * Tweak the caps manager so that the NPCAvatar works again. 2009-08-01 14:26:00 +00:00
Teravus Ovares 5c8fe5c01c * Fixed a case where a prim was a NullPhysicsActor instead of an OdePrim
* Commented logic that wasn't being used.
* This should fix the errors in OdeScene.near
2009-07-21 03:18:19 +00:00
Teravus Ovares 08819bcbea * Created a way that the OpenSimulator scene can ask the physics scene to do a raycast test safely.
* Test for prim obstructions between the avatar and camera.  If there are obstructions, inform the client to move the camera closer.  This makes it so that walls and objects don't obstruct your view while you're moving around.   Try walking inside a hollowed tori.   You'll see how much easier it is now because your camera automatically moves closer so you can still see.
* Created a way to know if the user's camera is alt + cammed or just following the avatar.
* Changes IClientAPI interface by adding SendCameraConstraint(Vector4 CameraConstraint)
2009-07-19 02:32:02 +00:00
Teravus Ovares f74622c65f * Change the order of Update so Physics processes a frame before the scene manipulates the physics Scene.cs
* Remove the draconic locking around adding an avatar to the Scene
* Handle an extreme error case when border crossing fails and user uses map to teleport to a different region on the same instance causing control commands to go to a child agent.
* Make the Set Appearance method use the proper 'remove from physics scene' method.
* It *may* help border crossings.   
* It *may* help the 'on avatar rez' lag, that people have been seeing the past week.
* It may also cause physics to crash more often on failed teleports (though..  I think I got the cases covered).
2009-07-17 07:28:09 +00:00