aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* minor: remove some mono compiler warningsJustin Clark-Casey (justincc)2011-12-082-3/+1
|
* When a client connects to a scene, send other avatar appearance data ↵Justin Clark-Casey (justincc)2011-12-081-6/+6
| | | | | | asynchronously to reduce hold up in the IN UDP packet processing loop. This is already being done for the initial object data send.
* On a new client circuit, send the initial reply ack to let the client know ↵Justin Clark-Casey (justincc)2011-12-084-48/+30
| | | | | | | | | it's live before sending other data. This means that avatar/appearance data of other avatars and scene objects for a client will be sent after the ack rather than possibly before. This may stop some avatars appearing grey on login. This introduces a new OpenSim.Framework.ISceneAgent to accompany the existing OpenSim.Framework.ISceneObject and ISceneEntity This allows IClientAPI to handle this as it can't reference OpenSim.Region.Framework.Interfaces
* Simplify Scene.AddNewClient()Justin Clark-Casey (justincc)2011-12-081-17/+28
| | | | | If sp becomes null right after we've checked or created it, then behaviour down the line is going to be wrong anyway. So instead retain the check/create ScenePresence reference and use this.
* Remove unused SceneManager.TryGetAvatarsScene()Justin Clark-Casey (justincc)2011-12-071-20/+0
| | | | | It makes far more sense anyway to use TryGetRootScenePresence().Scene, in common with the rest of the code This method could also return any scene for child or root agents, depending in which order the scenes happened to lie in the list
* On an Exception in Scene.RemoveClient(), always remove the client (and SP) ↵Justin Clark-Casey (justincc)2011-12-071-19/+28
| | | | structure so that logout on unexpired packets isn't retriggered, causing the same exception
* Implement XMLRPCAdmin command admin_teleport_agent.Justin Clark-Casey (justincc)2011-12-073-3/+42
| | | | This allows someone with access to this command on the XMLRPCAdmin interface to teleport an avatar to an arbitrary region and/or position.
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2011-12-051-40/+42
|\
| * Fix CHANGED_TEXTURE and CHANGED_COLOR.Melanie2011-12-051-40/+42
| |
* | Implement IOSHttpRequest and IOSHttpResponse http interfaces and use instead ↵Justin Clark-Casey (justincc)2011-12-051-1/+1
|/ | | | | | | | of OSHttpRequest/OSHttpResponse. This is required for the substitution of different HTTP servers or the newer HttpServer.dll without having to commit to a particular implementation. This is also required to write regression tests that involve the HTTP layer. If you need to recompile, all you need to do is replace OSHttpRequest/OSHttpResponse references with IOSHttpRequest/IOSHttpResponse.
* Split up test SceneHelpers to provide an AddChildScenePresence() callJustin Clark-Casey (justincc)2011-12-031-0/+1
|
* Remove T012_TestAddNeighbourRegion() and T013_TestRemoveNeighbourRegion() ↵Justin Clark-Casey (justincc)2011-12-031-70/+5
| | | | since they don't do anything useful.
* Extend TestCreateChildScenePresence to make assertions both at CreateAgent ↵Justin Clark-Casey (justincc)2011-12-031-0/+16
| | | | stage and then at Scene.AddClient()
* Add beginning of ScenePresenceAgentTests.TestCreateChildScenePresence()Justin Clark-Casey (justincc)2011-12-031-11/+46
| | | | | This required an option to be added to NullRegionData via ConnectionString for it to act as a non-static instance, so that regression tests (which only load this class once) don't get hopeless confused and complex to compensate. Normal standalone operation unaffected.
* Use GetAgentCircuits() to receive a copy of the AgentCircuitsByUUID ↵Justin Clark-Casey (justincc)2011-12-031-4/+2
| | | | dictionary rather than AgentCircuitManager.AgentCircuits directly in "show circuits" to avoid enumeration exceptions
* Add agent circuit number checks to TestCloseAgent()Justin Clark-Casey (justincc)2011-12-031-0/+4
|
* Correct SOP.GetNumberOfSides() to return 8 for meshes rather than 7Justin Clark-Casey (justincc)2011-12-031-7/+5
| | | | | We are returning the actual number of 'sides', not the maximum index number. Also minor format corrections.
* Workaround for mesh to correct the number of faces in GetNumberOfSides(). ↵marc2011-12-031-1/+9
| | | | | | Meshs are handeled as sculpts but can have up to 8 faces (SL restriction the collada format can handle even more). The patch enables all LSL function that adressing faces to behave correct. Like llGetNumberOfSides(); llSetLinkPrimitiveParamsFast(); llSetPrimitiveParams(); llSetColor(); Signed-off-by: marc <mare@sounddog.net>
* Update SP.PhysicsCollisionUpdate() doc.Justin Clark-Casey (justincc)2011-12-031-2/+5
| | | | It might be inefficient, but there are collisions every frame if the avatar is walking/standing on the ground or a prim surface
* Add method doc to SP.PhysicsCollisionUpdate() to make it clear that it's ↵Justin Clark-Casey (justincc)2011-12-031-0/+4
| | | | called continuously even where there are no collisions
* Add basic TestFlyingAnimation() regression testJustin Clark-Casey (justincc)2011-12-032-2/+75
|
* Stop calling Animator.UpdateMovementAnimations() at the end of ↵Justin Clark-Casey (justincc)2011-12-031-2/+2
| | | | | | HandleAgentUpdate(). There's no point doing this if it's being called via PhysicsCollisionUpdate
* For now, disable mechanism to limit avatar animation updates since this ↵Justin Clark-Casey (justincc)2011-12-032-23/+28
| | | | | | | | | causes avatars to never reach the correct animation after some actions. This reverts to situation where animation updates are made each frame on SP.PhysicsCollisionUpdate (though a packet is only sent if the anim actually changes). m_updateCount was not being update on various avatar state changes, causing the correct animations to never be sent. Always setting in HandleAgentUpdate() is not enough since the avatar is continually sending AgentUpdate packets. One would need to identify all the conditions under which animations need to play out and set m_updateCount appropriately in SP.HandleAgentUpdate()
* refactor: Use just ScenePresenceAnimator.CurrentMovementAnimation rather ↵Justin Clark-Casey (justincc)2011-12-031-14/+12
| | | | than duplicating it with m_movementAnimation
* Do a cagent.Anims != null check in SP.CopyFrom()Justin Clark-Casey (justincc)2011-12-031-1/+3
|
* Rename ScenePresenceAnimator.GetMovementAnimation() -> ↵Justin Clark-Casey (justincc)2011-12-031-3/+8
| | | | DetermineMovementAnimation() for better code readability
* Stop SP.HandleAgentUpdate() and PhysicsCollisionUpdate() from being ↵Justin Clark-Casey (justincc)2011-12-032-12/+13
| | | | | | | processed if we're dealing with a child ScenePresence. Neither of these can have any effect on child agents Now leaving warning about trying to set animation on a child agent active. Might temporarily pop up now and again.
* Stop some places where we're trying to reset animations in child agents ↵Justin Clark-Casey (justincc)2011-12-023-16/+23
| | | | where such requests are ignored.
* Remove pointless Animator.TrySetMovementAnimation("STAND") in ScenePresnece ↵Justin Clark-Casey (justincc)2011-12-021-3/+0
| | | | | | constructor. Comment was right - it is indeed useless since SP always starts off as child and TrySetMovementAnimation screens out child SP
* minor: formatting changes in Scene.PacketHandlers.csJustin Clark-Casey (justincc)2011-11-261-5/+5
|
* Rip out unused Scene.HandleFetchInventoryDescendentsCAPS().Justin Clark-Casey (justincc)2011-11-261-58/+0
| | | | This has been handled by WebFetchInvDescHandler.Fetch() for some time.
* Use the more extensive Utils.AssetTypeToString()/InventoryTypeToString() ↵Justin Clark-Casey (justincc)2011-11-251-2/+2
| | | | conversion rather than the arrays in TaskInventoryItem
* Remove bizarre call to PhysicsScene.Simulate(0) in ↵Justin Clark-Casey (justincc)2011-11-241-4/+2
| | | | | | Scene.GetNearestAllowedPosition() At least on ODE, this wasn't doing any harm but there wasn't any point to it either
* When setting packet level logging via "debug packet", apply to all clients, ↵Justin Clark-Casey (justincc)2011-11-241-14/+10
| | | | | | not just root ones. Also adds scene name and client type (root|child) to logged information.
* Stop an exception being thrown and a teleport/border cross failing if the ↵Justin Clark-Casey (justincc)2011-11-224-29/+22
| | | | | | | desintation sim has no active script engines. This involves getting IScene.RequestModuleInterfaces() to return an empty array (as was stated in the method doc) rather than an array containing one null entry. Callers adjusted to stop checking for the list reference being null (which never happened anyway)
* Chain SOP constructors together rather than having copy/paste codeJustin Clark-Casey (justincc)2011-11-211-14/+5
|
* refactor: Make SOP.Description an automatic propertyJustin Clark-Casey (justincc)2011-11-211-6/+3
|
* Remove unused PhysicsActor.SOPDescriptionJustin Clark-Casey (justincc)2011-11-211-11/+2
|
* Get rid of the spurious [WEB UTIL] couldn't decode <OpenSim agent ↵Justin Clark-Casey (justincc)2011-11-191-2/+6
| | | | | | | 57956c4b-ff2e-4fc1-9995-613c6256cc98>: Invalid character 'O' in input string messages These are just the result of an attempt to canonicalize received messages - it's not important that we constantly log them. Also finally get the deregister grid service message working properly
* Don't register a region twice on both official registration and maptile ↵Justin Clark-Casey (justincc)2011-11-191-7/+5
| | | | | | regeneration. Maptile storage appears orthogonal to region registration
* If the entire simulator is shutting down then don't bother to unload the ↵Justin Clark-Casey (justincc)2011-11-171-10/+16
| | | | | | | scripts from the appdomain in XEngine. All the other actions (script state save, etc.) still occur. This makes shutdown where there are many scripts vastly quicker.
* Stop OdePrim and OdeCharacter insanely overriding set LocalID to set their ↵Justin Clark-Casey (justincc)2011-11-163-3/+11
| | | | | | | own private m_localID property but leaving get to return the then unset PhysicsActor.LocalId! Instead, just have both subclasses use the PhysicsActor.LocalID property. This restores collision functionality that fell away in 45c7789 yesterday
* Call public ForEach instead of using m_entities directly. No semantic ↵Dan Lake2011-11-161-2/+2
| | | | changes, just cleanup
* In AddNewClient, iterator over copy of entities rather than copying under ↵Dan Lake2011-11-151-2/+3
| | | | read lock
* Make tracked per scene thread names conform to the majorirty format.Justin Clark-Casey (justincc)2011-11-151-1/+3
| | | | This is <thread-name> (<region-name>)
* Add comments about trying to avoid synchronous work off the ↵Justin Clark-Casey (justincc)2011-11-152-4/+12
| | | | EventManager.OnMakeRootAgent event since this is on the critical path for transfer of avatars from one region to another.
* Removed unused and mostly commented out SceneCommunicationService methodsJustin Clark-Casey (justincc)2011-11-152-116/+3
| | | | As far as I can see, the SCS is only now used for informing neighbours of up/down status and possibly sending child agent updates and close requests
* Remove unused RegionCommsListener/IRegionCommsListener.Justin Clark-Casey (justincc)2011-11-151-3/+0
| | | | All this is now being handled through IEntityTransferModule and SimulationService instead, and has been for some time.
* remove SceneCommunicationService.OnAvatarCrossingIntoRegion. This stuff is ↵Justin Clark-Casey (justincc)2011-11-153-10/+6
| | | | not being used any more - it's now IEntityTransferModule and SimulationService instead
* For clients that are entering a simulator from initial login, stop executing ↵Justin Clark-Casey (justincc)2011-11-151-4/+6
| | | | | | | | FriendsModule.FetchFriendslist() asychronously. Executing this asynchronously allows a race condition where subsequent friends fetches hit a cache that FetchFriendsList() had not yet populated. Changing this to synchronous may improve issues where a user does not see friends as online even though they are. I don't believe synchronous is a problem here, but if it is, then a more complicated signalling mechanism is required. Locking the cache isn't sufficient.