Commit Graph

3075 Commits (ef39fcf465badfc47842ad0ee5de810f84dd65b5)

Author SHA1 Message Date
Justin Clark-Casey (justincc) aec7019728 Add missing file from b1c26a56 2013-08-09 17:57:24 +01:00
Justin Clark-Casey (justincc) 97bcb59bee Merge branch 'TeleportWork' 2013-08-09 17:52:29 +01:00
Diva Canto 2cdcf62b48 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-08-09 08:31:30 -07:00
Diva Canto 7e01213bf2 Go easy on enforcing session ids in position updates 2013-08-09 08:31:15 -07:00
Justin Clark-Casey (justincc) 99bce9d877 Fix an issue with an A->C->B->A teleport where these regions are in a row (A,B,C) where the A root agent is still closed, terminating the connection.
This was occuring because teleport to B did not set DoNotCloseAfterTeleport on A as it was a neighbour (where it isn't set to avoid the issue where the source region doesn't send Close() to regions that are still neighbours (hence not resetting DoNotCloseAfterTeleport).
Fix here is to still set DoNotCloseAfterTeleport if scene presence is still registered as in transit from A
2013-08-09 00:24:22 +01:00
Justin Clark-Casey (justincc) b1c26a56b3 Fix an issue where under teleport v2 protocol, teleporting from regions in an line from A->B->C would not close region A when reaching C
The root cause was that v2 was only closing neighbour agents if the root connection also needed a close.
However, fixing this requires the neighbour regions also detect when they should not close due to re-teleports re-establishing the child connection.
This involves restructuring the code to introduce a scene presence state machine that can serialize the different add and remove client calls that are now possible with the late close of the
This commit appears to fix these issues and improve teleport, but still has holes on at least quick reteleporting (and possibly occasionally on ordinary teleports).
Also, has not been completely tested yet in scenarios where regions are running on different simulators
2013-08-08 23:29:30 +01:00
Dan Lake 9fc97cbbf7 Make m_originRegionID in ScenePresence public to allow DSG module to work for now. Once the code churn on teleport ends, I can find a better solution 2013-08-08 12:44:03 -07:00
Justin Clark-Casey (justincc) b10710d4a5 minor: add some method doc to ScenePresence fields used for entity transfer, add minor details to some log messages, rename a misleading local variable name.
No functional changes.
2013-08-07 23:17:31 +01:00
Diva Canto 3194ffdab8 Fixed incomplete commit r/23317 -- see_into_region. Put the guard around estate bans also, and delete the obsolete config var. 2013-08-07 08:01:59 -07:00
Diva Canto 946b370966 Child agent updates: remove the dependency on the root agent's camera position. That was a complete overkill that is unnecessary at this point. 2013-08-05 14:21:17 -07:00
Diva Canto 09cb2a37dd More on HG inventory and OutboundPermission: disallowing giving inventory to foreigners if OutboundPermission is false 2013-08-03 20:36:30 -07:00
Diva Canto dcfeb95e98 HG: If OutboundPermission is set to false, let's enforce stricter permissions by not allowing objects to be taken to inventory. 2013-08-03 20:13:44 -07:00
Diva Canto 07e4958b19 Turn off edit beams when object is derezed while being edited. (mantis #6722) 2013-08-01 20:40:13 -07:00
Mic Bowman 1299592405 Experimental comment to eneralize the handling of Linden caps when the
cap is something other than "localhost". A new interface for handling
external caps is supported with an example implemented for Simian. The
only linden cap supporting this interface right now is the GetTexture
cap.
2013-07-31 15:37:15 -07:00
Diva Canto 7b0b5c9d97 Added BasicSearchModule.cs which handles OnDirFindQuery events. Removed that handler from both Groups modules in core, and replaced them with an operation on IGroupsModule. 2013-07-28 13:49:58 -07:00
Diva Canto 69975763d2 Several major improvements to group (V2) chat. Specifically: handle join/drop appropriately, invitechatboxes.
The major departure from flotsam is to send only one message per destination region, as opposed to one message per group member. This reduces messaging considerably in large groups that have clusters of members in certain regions.
2013-07-27 15:38:56 -07:00
Justin Clark-Casey (justincc) 840be97e40 Fix failure in TestCreateDuplicateRootScenePresence().
This is a test setup failure since code paths when adding a duplicate root scene presence now require the EntityTransferModule to be present.
Test fixed by adding this module to test setup
2013-07-26 20:52:30 +01:00
Justin Clark-Casey (justincc) 056a6ee765 Fix regression tests relating to agent transfer by making simulator use last week's SIMULATOR/0.1 protocol for now. 2013-07-26 19:22:30 +01:00
Justin Clark-Casey (justincc) a08f01fa83 Fix NPC regression test failures.
These were genuine failures caused by ScenePresence.CompleteMovement() waiting for an UpdateAgent from NPC introduction that would never come.
Instead, we do not wait if the agent is an NPC.
2013-07-26 18:43:15 +01:00
Diva Canto dd2c211e62 Comment debug message 2013-07-26 07:40:55 -07:00
Diva Canto 878ce1e6b2 This should fix all issues with teleports. One should be able to TP as fast as needed. (Although sometimes Justin's state machine kicks in and doesn't let you) The EventQueues are a hairy mess, and it's very easy to mess things up. But it looks like this commit makes them work right. Here's what's going on:
- Child and root agents are only closed after 15 sec, maybe
- If the user comes back, they aren't closed, and everything is reused
- On the receiving side, clients and scene presences are reused if they already exist
- Caps are always recreated (this is where I spent most of my time!). It turns out that, because the agents carry the seeds around, the seed gets the same URL, except for the root agent coming back to a far away region, which gets a new seed (because we don't know what was its seed in the departing region, and we can't send it back to the client when the agent returns there).
2013-07-25 23:44:58 -07:00
Justin Clark-Casey (justincc) 72ed49af5f Reset DoNotClose scene presence teleport flag before pausing. Rename DoNotClose to DoNotCloseAfterTeleport 2013-07-26 01:38:04 +01:00
Justin Clark-Casey (justincc) 1fabdcc43c If a returning teleport starts to reuse a downgraded child connection that was a previous root agent, do not close that child agent at the end of the 15 sec teleport timer.
This prevents an issue if the user teleports back to the neighbour simulator of a source before 15 seconds have elapsed.
This more closely emulates observed linden behaviour, though the timeout there is 50 secs and applies to all the pre-teleport agents.
Currently sticks a DoNotClose flag on ScenePresence though this may be temporary as possibly it could be incorporated into the ETM state machine
2013-07-26 01:04:16 +01:00
Diva Canto 4e5c7bdeb3 Moved TriggerOnMakeRootAgent back to the end of MakeRootAgent, to see if that eliminates the temporary placement at infinity upon TPs 2013-07-24 14:30:13 -07:00
Diva Canto 14530b2607 Minor adjustment on timings of waits. 2013-07-24 14:29:37 -07:00
Diva Canto 879cbb4575 This commit message intentionally left blank (last commit was idiotic) 2013-07-24 14:28:55 -07:00
Diva Canto 261512606d Improve the opening test in CompleteMovement, to account for multiple flags besides ViaLogin. 2013-07-24 14:28:41 -07:00
Diva Canto 3891a8946b New Teleport protocol (V2), still compatible with V1 and older. (version of the destination is being checked)
In this new protocol, and as committed before, the viewer is not sent EnableSimulator/EstablishChildCommunication for the destination. Instead, it is sent TeleportFinish directly. TeleportFinish, in turn, makes the viewer send a UserCircuitCode packet followed by CompleteMovementIntoRegion packet. These 2 packets tend to occur one after the other almost immediately to the point that when CMIR arrives the client is not even connected yet and that packet is ignored (there might have been some race conditions here before); then the viewer sends CMIR again within 5-8 secs. But the delay between them may be higher in busier regions, which may lead to race conditions.
This commit improves the process so there are are no race conditions at the destination. CompleteMovement (triggered by the viewer) waits until Update has been sent from the origin. Update, in turn, waits until there is a *root* scene presence -- so making sure CompleteMovement has run MakeRoot. In other words, there are two threadlets at the destination, one from the viewer and one from the origin region, waiting for each other to do the right thing. That makes it safe to close the agent at the origin upon return of the Update call without having to wait for callback, because we are absolutely sure that the viewer knows it is in th new region.
Note also that in the V1 protocol, the destination was getting UseCircuitCode from the viewer twice -- once on EstablishAgentCommunication and then again on TeleportFinish. The second UCC was being ignored, but it shows how we were not following the expected steps...
2013-07-24 14:27:58 -07:00
Diva Canto aae29c0ee2 Further tweaks on TPs: not sending the callback URL and instead waiting 15sec before closing the agent. This seems to be working fairly well. The viewer seems to have an 8 sec delay between UseCircuitCode and CompleteMovement.
Also added back the position on UpdateAgent, because it's needed for TPing between neighboring regions.
2013-07-24 14:27:37 -07:00
Diva Canto 00d4a26eef Amend previous commit. 2013-07-24 12:49:30 -07:00
Diva Canto e103e34f1d Added config var that we all thought was already there: see_into_region. (Note: different from the defunct see_into_neighboring_sim, which used to control the process from the other end). This enables child agents in neighbors for which the root agent doesn't have permission to be in. 2013-07-24 11:25:41 -07:00
Diva Canto 901bdfed40 Restoring landing on prims, which had been affected by the edit beams commit. 2013-07-23 14:31:16 -07:00
Diva Canto 7c1eb86c7d Don't post Link asset types back to the home grid 2013-07-23 14:28:53 -07:00
Diva Canto 8d18ad2f6f Minor aesthetic change to make things more clear. 2013-07-21 09:02:56 -07:00
Diva Canto b5ab0698d6 EDIT BEAMS!!! They had been missing from OpenSim since ever. Thanks to lkalif for telling me how to route the information. The viewer effect is under the distance filter, so only avatars with cameras < 10m away see the beams. 2013-07-21 09:01:44 -07:00
Diva Canto 032c637c10 Filter certain viewer effects depending on distance between the avatar that is generating the effect and the cameras of the observers. In particular, this applies to LookAt (which is really verbose and occurs every time users move the mouse) and Beam (which doesn't occur that often, but that can be extremely noisy (10.sec) when it happens) 2013-07-21 09:01:09 -07:00
Diva Canto 3919c80505 A couple of small optimizations over the previous commit 2013-07-21 09:00:57 -07:00
Diva Canto d5a1779465 Manage AgentUpdates more sanely:
- The existing event to scene has been split into 2: OnAgentUpdate and OnAgentCameraUpdate, to better reflect the two types of updates that the viewer sends. We can run one without the other, which is what happens when the avie is still but the user is camming around
- Added thresholds (as opposed to equality) to determine whether the update is significant or not. I thin these thresholds are ok, but we can play with them later
- Ignore updates of HeadRotation, which were problematic and aren't being used up stream
2013-07-21 09:00:42 -07:00
Diva Canto 9432f3c94d Improvements to the ServiceThrottleModule: added a category and an itemid to the interface, so that duplicate requests aren't enqueued more than once. 2013-07-16 19:04:30 -07:00
Diva Canto a006caabbc Added IServiceThrottleModule.cs 2013-07-16 17:06:54 -07:00
Diva Canto c8dcb8474d Let's go easy on authenticating ChildAgentUpdates, otherwise this will be chaotic while ppl are using different versions of opensim. Warning only, but no enforcement. 2013-07-14 10:26:05 -07:00
Diva Canto 98f59ffed5 Fix broken tests -- the test setup was wrong... sigh. 2013-07-14 09:22:55 -07:00
Diva Canto c61ff917ef Authenticate ChildAgentUpdate too. 2013-07-14 09:21:28 -07:00
Diva Canto f3b3e21dea Change the auth token to be the user's sessionid. 2013-07-14 07:28:40 -07:00
Diva Canto fcb0349d56 And this fixes the other failing tests. Justin, the thread pool is not being initialized in the tests! 2013-07-13 23:01:41 -07:00
Diva Canto e4f741f006 This should fix the failing test. 2013-07-13 22:52:51 -07:00
Diva Canto a2ee887c6d Deleted a line too many 2013-07-13 22:32:52 -07:00
Diva Canto b4f1b9acf6 Guard against unauthorized agent deletes. 2013-07-13 21:28:46 -07:00
Diva Canto 5a1d6727e1 Some more debug to see how many threads are available. 2013-07-13 11:39:17 -07:00
Diva Canto bc405a6a34 That didn't fix the problem.
Revert "Trying to reduce CPU usage on logins and TPs: trying radical elimination of all FireAndForgets throughout CompleteMovement. There were 4."

This reverts commit 6825377380.
2013-07-13 11:30:37 -07:00
Diva Canto 6825377380 Trying to reduce CPU usage on logins and TPs: trying radical elimination of all FireAndForgets throughout CompleteMovement. There were 4. 2013-07-13 11:11:18 -07:00
Diva Canto 3a26e366d2 This commit effectively reverses the previous one, but it's just to log that we found the root of the rez delay: the priority scheme BestAvatarResponsiveness, which is currently the default, was the culprit. Changing it to FrontBack made the region rez be a lot more natural.
BestAvatarResponsiveness introduces the region rez delay in cases where the region is full of avatars with lots of attachments, which is the case in CC load tests. In that case, the inworld prims are sent only after all avatar attachments are sent. Not recommended for regions with heavy avatar traffic!
2013-07-13 10:35:41 -07:00
Diva Canto ff4ad60207 Same issue as previous commit. 2013-07-13 10:05:11 -07:00
Diva Canto ccee2959f7 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-07-13 09:53:05 -07:00
Diva Canto a412b1d682 Moved SendInitialDataToMe to earlier in CompleteMovement. Moved TriggerOnMakeRootAgent to the end of CompleteMovement.
Justin, if you read this, there's a long story here. Some time ago you placed SendInitialDataToMe at the very beginning of client creation (in LLUDPServer). That is problematic, as we discovered relatively recently: on TPs, as soon as the client starts getting data from child agents, it starts requesting resources back *from the simulator where its root agent is*. We found this to be the problem behind meshes missing on HG TPs (because the viewer was requesting the meshes of the receiving sim from the departing grid). But this affects much more than meshes and HG TPs. It may also explain cloud avatars after a local TP: baked textures are only stored in the simulator, so if a child agent receives a UUID of a baked texture in the destination sim and requests that texture from the departing sim where the root agent is, it will fail to get that texture.
Bottom line: we need to delay sending the new simulator data to the viewer until we are absolutely sure that the viewer knows that its main agent is in a new sim. Hence, moving it to CompleteMovement.
Now I am trying to tune the initial rez delay that we all experience in the CC. I think that when I fixed the issue described above, I may have moved SendInitialDataToMe to much later than it should be, so now I'm moving to earlier in CompleteMovement.
2013-07-13 09:46:58 -07:00
Justin Clark-Casey (justincc) d06c85ea77 Reinsert PhysicsActor variable back into SOP.SubscribeForCollisionEvents() in order to avoid a race condition.
A separate PhysicsActor variable is used in case some other thread removes the PhysicsActor whilst this code is executing.
If this is now impossible please revert - just adding this now whilst I remember.
Also makes method comment into proper method doc.
2013-07-13 00:29:07 +01:00
Robert Adams 1909ee70f8 Centralize duplicated code in SceneObjectPart for subscribing to
collision events. Improve logic for knowing when to add processing
routine to physics actor.
2013-07-11 16:57:07 -07:00
Justin Clark-Casey (justincc) 7c2e4786ce minor: remove some regression test logging switches accidentally left uncommented. 2013-07-11 23:19:55 +01:00
Diva Canto d0dfb744b2 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-07-09 14:13:51 -07:00
Diva Canto 67e500383e Put guards on a bunch of exception-inducing code, as seen in logs from load test. 2013-07-09 14:12:52 -07:00
Justin Clark-Casey (justincc) af9b17c545 minor: remove mono compiler warnings related to keyframe code 2013-07-08 23:52:40 +01:00
Justin Clark-Casey (justincc) c3db595944 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-07-08 22:07:27 +01:00
Justin Clark-Casey (justincc) e19defde36 Add "show caps stats by user" and "show caps stats by cap" console commands to print various counts of capability invocation by user and by cap
This currently prints caps requests received and handled, so that overload of received compared to handled or deadlock can be detected.
This involves making BaseStreamHandler and BaseOutputStream record the ints, which means inheritors should subclass ProcessRequest() instead of Handle()
However, existing inheriting classes overriding Handle() will still work, albeit without stats recording.
"show caps" becomes "show caps list" to disambiguate between show caps commands
2013-07-08 22:03:07 +01:00
Diva Canto 1286677352 Try to normalize the creatorData of scene object parts with the trailing '/'. What a nightmare this '/' is! 2013-07-06 18:37:54 -07:00
Justin Clark-Casey (justincc) 5dbdd5f8b4 refactor: Make stats and sim status simpler by extending BaseStreamHandler like other handlers instead of implementing the IStreamedRequestHandler interface directly 2013-07-06 00:12:48 +01:00
Justin Clark-Casey (justincc) dd15f95499 Add very basic regression test TestChildAgentSingleRegionCapabilities() which checks for addition and removal of capabilities on add/remove of child agent 2013-07-05 20:06:27 +01:00
Diva Canto 8265a88c4a Throttle the viewer's requests for region handles. Apparently Kokua is requesting this for all landmarks in inventory. Not sure why. But this seems to be the root cause of the login freeze mentioned before. This commit adds a blocking queue / process thread pattern. 2013-07-04 14:51:18 -07:00
Diva Canto da3aa44138 Debug the RegionHandle handler (same issue) 2013-07-04 13:27:53 -07:00
Justin Clark-Casey (justincc) 25889b2d7e change "debug packet" command to "debug lludp packet" to conform with other "debug lludp" options
also moves the implementing code into LLUDPServer.cs along with other debug commands from OpenSim.cs
gets all debug lludp commands to only activate for the set scene if not root
2013-07-04 00:02:53 +01:00
Justin Clark-Casey (justincc) 371085546d Add materials store null check into UuidGatherer code. 2013-06-28 23:57:41 +01:00
Justin Clark-Casey (justincc) f6ce87c96d Reinsert code for gathering uuids reference by materials back directly into UuidGatherer for now.
This cannot be triggered as an event from Scene.EventManager since some invocations of UuidGatherer (e.g. IAR saving) use scene objects which are not in scenes.
There needs to be some way for modules to register for events which are not connected with a particular scene.
2013-06-28 18:50:33 +01:00
Justin Clark-Casey (justincc) 149487ea0f refactor: Move code for gathering textures referenced by materials into MaterialsDemoModule from UuidGatherer
This code is now triggered via EventManager.OnGatherUuids which modules can subscribe to.
2013-06-27 23:42:35 +01:00
Justin Clark-Casey (justincc) f7d09b898a Make the concept of namespaces explicit in dynamic attributes
This is in order to reduce the likelihood of naming clashes, make it easier to filter in/out attributes, ensure uniformity, etc.
All dynattrs in the opensim distro itself or likely future ones should be in the "OpenSim" namespace.
This does alter the underlying dynattrs data structure.  All data in previous structures may not be available, though old structures should not cause errors.
This is done without notice since this feature has been explicitly labelled as experimental, subject to change and has not been in a release.
However, existing materials data is being preserved by moving it to the "Materials" store in the "OpenSim" namespace.
2013-06-27 23:14:28 +01:00
Justin Clark-Casey (justincc) ce9b1320d2 Improve situation where editing just the root prim of an attachment causes other prims to be set to very far off positions on reattach.
Functionally the same as the patch by tglion in http://opensimulator.org/mantis/view.php?id=5334
However, not yet perfect - after editing just root prim on reattach the position is still wrong, though other prims are not set to far off positions.
2013-06-25 00:41:46 +01:00
Justin Clark-Casey (justincc) 4b00203fa5 Tidy up SOG.UpdateRootPosition() to eliminate unnecessary copying of Vector3 structs 2013-06-25 00:15:55 +01:00
Melanie 936700bda3 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2013-06-23 01:49:45 +01:00
Melanie 4bf1afe300 Fix prim locking to behave like SL 2013-06-23 01:34:35 +01:00
Justin Clark-Casey (justincc) 0767523834 Fix other places when saving scripts or notecards in prim inventories where messages should be transient without an OK button 2013-06-18 21:21:59 +01:00
teravus 3357300362 * This fixes having to select and deselect prim to get keyframemotion to start running when pulled from data storage. 2013-06-12 18:13:00 -05:00
Robert Adams 7556a0f699 Add TriggerScenePresenceUpdated events when an animation is added
or removed. Shouldn't impact anyone as only DSG seems to use
OnScenePresenceUpdated event.
Some minor format changes to AnimationSet's ToString().
2013-06-11 17:18:12 -07:00
teravus d47a18fd09 * Adds KeyFrameMotion storage support to SQLite, just a note, seems that there's still something wrong with keyframed motion starting when the sim starts up, you have to 'select' and 'deselect' the prim again to get it to appear to move. Not sure what this is but maybe melanie_t can comment on this.
* Has a prim table migration..     that might take a while, hold on to your hats.
* Fixes a null-ref when shutting down while keyframed motion is active.
2013-06-11 08:56:20 -05:00
Justin Clark-Casey (justincc) f2a4d9b99c Fix regression where multiple close agents could be sent to the wrong neighbour region on root agent close.
This was introduced in git master d214e2d0 (Thu May 16 17:12:02 2013)
Caught out by the fact that value types used in iterators act like references and this was dispatched asynchronously.
Should address http://opensimulator.org/mantis/view.php?id=6658
2013-06-07 19:13:24 +01:00
Melanie 06012f8675 Fix keyframe motion copyright 2013-06-06 23:49:02 +01:00
Melanie 81ad9255b5 Hook up Keyframe motion to almost everything. Failing to cross a sim border
may yield unexpected results in some cases. No database persistence yet,
2013-06-06 03:03:05 +01:00
Melanie e1d98c9e4c Committing Avination's Keyframe module. This is not hooked up yet and will do nothing. More commits to follow. 2013-06-06 02:25:19 +01:00
Justin Clark-Casey (justincc) f41fc4eb25 Avoid a deadlock where a script can attempt to take a ScriptInstance.m_Scripts lock then a lock on SP.m_attachments whilst SP.MakeRootAgent() attempts to take in the opposite order.
This is because scripts (at least on XEngine) start unsuspended - deceptively the ResumeScripts() calls in various places in the code are actually completely redundant (and useless).
The solution chosen here is to use a copy of the SP attachments and not have the list locked whilst creating the scripts when an avatar enters the region.
This looks to address http://opensimulator.org/mantis/view.php?id=6557
2013-06-05 22:20:48 +01:00
Robert Adams 4d32ca19bf Trigger OnScenePresenceUpdated when the avatar's animations change. 2013-05-30 19:16:36 -07:00
Robert Adams 48a175eff7 Add methods to Animation and AnimationSet for easier manipulation and
display of groups of animations (Equal(), ToString(), FromOSDArray(), ...).
No functional change to animations.
2013-05-30 19:16:34 -07:00
Robert Adams 439f11cc3c Add region heartbeat start event to complement heartbeat end event.
This allows object modification before the usual heartbeat operation.
2013-05-30 19:16:31 -07:00
Justin Clark-Casey (justincc) 8f9a726465 If on a sit request we sit the avatar on a different prim in a linkset for some reason (e.g. because it has a sit target), then send the actual sit prim UUID to the viewer rather than the requested one.
This purports to fix the issue described in http://opensimulator.org/mantis/view.php?id=6653 where the camera can end up following the requested sit prim rather than the actual.
The original spot was by Vegaslon, this commit just goes about it in a slightly different way
This commit also makes m_requestedSitTargetUUID to be the actual UUID, which is consistent with m_requestedSitTargetID which was already doing this.
However, this adjustment has no practical effect since we only currently need to know that there's any requested sit UUID at all, not which one it is.
2013-05-30 19:27:20 +01:00
Justin Clark-Casey (justincc) cc7aa88b26 Try caching the user name for a new agent earlier on in the process of establishing a connection, to see if this helps with "Unknown UserUMMTGUN" issues.
The UMMTGUN form of Unknown User seems to appear because a viewer sometimes sends a UUIDNameRequest UDP request that fails to find a binding.
However, in theory the incoming agent should have made that binding before any such request is triggered.
So moving this binding to an earlier point in the process to see if this makes a difference.
Unknown user name is also updated to UserUMMTGUN2 - if you see the old name then you need to clear your viewer cache.
This relates to http://opensimulator.org/mantis/view.php?id=6625
2013-05-29 23:08:54 +01:00
Diva Canto 233b9ec4d7 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-05-28 20:59:54 -07:00
Mic Bowman a087dbed7f One more appearance change: drop sending the SendAppearance packet
to avatar when it becomes root. This packet shows up in the viewer
logs as an error and appears to cause problems for completing the
texture rebake process for v1 viewers in some cases.
2013-05-24 13:26:07 -07:00
Justin Clark-Casey (justincc) eb2bd9d203 minor: Remove unnecessary duplication of AbsolutePosition Vector3 in SOG.Copy()
As a struct, Vector3 has already been cloned by MemberwiseClone()
2013-05-24 00:46:58 +01:00
Justin Clark-Casey (justincc) 02fe05f346 Fix issue where llSetPayPrice on either one of a clone prim in the same OpenSimulator session would change the prices on both prims.
This is because the PayPrice array refernence was being memberwise cloned and not the array itself.
Addresses http://opensimulator.org/mantis/view.php?id=6639
2013-05-24 00:41:47 +01:00
Justin Clark-Casey (justincc) 9b56f99326 Fix bug where a cloned object would report the wrong llGetNumberOfPrims() when avatars had been sitting on the original and a different avatar sat on the copy within the same opensim session.
This was because the sitting avatars list was being cloned rather than reset.
Addresses http://opensimulator.org/mantis/view.php?id=6649
2013-05-23 23:52:07 +01:00
Justin Clark-Casey (justincc) 7d38f4940c Implement llSetSoundQueueing().
This is controlled by the viewer, not the server.
So as per http://wiki.secondlife.com/wiki/LlSetSoundQueueing, only two sounds can be queued per prim.
You probably need to use llPreloadSound() for best results
2013-05-22 20:01:57 +01:00
Diva Canto 10e4fb2ce2 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-05-20 09:26:15 -07:00
Diva Canto 26904cc5a1 Add comment 2013-05-20 09:25:50 -07:00
Justin Clark-Casey (justincc) d214e2d0c4 On closing child agents, send separate asynchronous requests to each neighbour rather than sending all closes concurrently on a separate thread.
This is to reduce race conditions where neighbours may be responding erratically, thus mixing up create and close agent requests in time.
This mirrors OpenSimulator behaviour on enabling child agents where each region is contacted separately.
2013-05-16 17:12:02 +01:00
Justin Clark-Casey (justincc) bd31821792 On logout, send close child agent requests to neighbours asynchronously, so user is not prevented from relogging if many neighbours are present but not responsive.
The symptom here is that previous user connections are still present but are labelled active == false
2013-05-16 16:37:21 +01:00
Robert Adams 23ebae1828 Eliminate race condition where SimStatsReporter starts reporting
stats before the region is completely initialized.
2013-05-14 13:40:07 -07:00
Justin Clark-Casey (justincc) ce979552fd Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-05-14 19:45:35 +01:00
Justin Clark-Casey (justincc) e9847a4dbd Comment out some debugging item permission messages since these are highly noisy on the console.
Please re-enable when required
2013-05-14 19:44:41 +01:00
Diva Canto 91091c3e54 Second take at HGTP-mesh bug: delay sending the initial data only for agents that are coming via TP (root agents) 2013-05-14 09:06:58 -07:00
Diva Canto 645da54f25 Revert "HGTP-mesh bug: the mesh download requests were going to the departing sims for a little while. This was also true for local TPs. BUt for local TPs the assets are on the same server, so it doesn't matter. For HGTPs, it matters. This potential fix moves sending the initial data to later, after the client has completed the movement into the region. Fingers crossed that it doesn't mess other things up!"
This reverts commit f32a21d967.
2013-05-14 08:47:18 -07:00
Diva Canto f32a21d967 HGTP-mesh bug: the mesh download requests were going to the departing sims for a little while. This was also true for local TPs. BUt for local TPs the assets are on the same server, so it doesn't matter. For HGTPs, it matters. This potential fix moves sending the initial data to later, after the client has completed the movement into the region. Fingers crossed that it doesn't mess other things up! 2013-05-14 08:12:01 -07:00
Diva Canto a4431381fa Finalize the logic for SetHome. See comments in Land/LandManagementModule.cs about who has permission to set home where. 2013-05-11 07:58:14 -07:00
Melanie 55c9bc15e5 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2013-05-11 01:29:30 +01:00
Melanie 81d8deb1a8 Send up the part missing from the Avination Estate commit.
Warning - contains a small migration.
2013-05-11 01:27:37 +01:00
Justin Clark-Casey (justincc) 9978f36d9f Don't send BulkUpdateInventory at the end up of UpdateInventoryItemAsset().
This is causing editing of worn clothes to fail frequently, possibly due to a race condition with a transaction.
This looks to address http://opensimulator.org/mantis/view.php?id=6600
2013-05-09 22:43:16 +01:00
Justin Clark-Casey (justincc) b4a6f2195d Only send one kill object to the deleter when they derez an object rather than two.
Extend regression test to check this.
2013-05-09 18:53:34 +01:00
Justin Clark-Casey (justincc) 3290cd09d3 remove pointless region handle paramter from IClientAPI.SendKillObject() 2013-05-09 18:12:17 +01:00
Justin Clark-Casey (justincc) 2cb2f1d7e3 Fix issue where objects removed via llDie() would not disappear for users looking in from neighbouring sims.
This was because this particular code path (unlike user delete) only sent kills to root presences, for no apparent good reason.
Added regression test for this case.
This fixes http://opensimulator.org/mantis/view.php?id=6627
2013-05-09 18:02:19 +01:00
Justin Clark-Casey (justincc) 641c636790 minor: Simplify test setup in SceneObjectDeRezTests since permissions module doesn't need different configuration anymore 2013-05-09 16:43:16 +01:00
Melanie 5d5edde429 Step 2: commit the IEstateModuleInterface changes needed 2013-05-07 00:37:45 +01:00
Melanie 4c83b5e719 Step one of estate settings sharing - port the Avination Estate module (complete module) as changes are too extensive to apply manually 2013-05-07 00:31:11 +01:00
Diva Canto a81ddf3d70 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-05-06 09:18:17 -07:00
Diva Canto ad00466483 Minor reordering of operations on NewUserConnection. The agent circuit needs to be added earlier for some of the checks to work correctly. 2013-05-06 09:17:54 -07:00
Justin Clark-Casey (justincc) 304c5d4a8b On startup, start scenes after we're set up all local scenes, rather than starting scenes before others have been created.
This aims to avoid a race condition where scenes could look to inform neighbours that they were up before those neighbours had been created.
http://opensimulator.org/mantis/view.php?id=6618
2013-05-03 18:48:50 +01:00
Melanie 3ff7391495 Some more pieces of Avination's ban system - if an avatar isn't allowed on any
parcel in the sim, keep them out entirely.
2013-04-29 00:55:34 +01:00
dahlia c10405330d UUIDGatherer now includes UUIDs which reference texture assets used as materials 2013-04-24 20:43:15 -07:00
Melanie ec4f981f1d Adding the dynamic menu module which allows registering new menu options in compliant viewers 2013-04-25 01:52:34 +01:00
Melanie 6f3c905744 Add Avination's support for parcel eject and freeze 2013-04-25 00:24:48 +01:00
dahlia 9ae24cac2f Materials-capable viewers send ImageUpdate packets when updating materials that are normally sent via RenderMaterials CAP. This can cause a race condition for updating TextureEntry fields. Therefore filter any TextureEntry updates so they only update if something actually changed. 2013-04-19 00:35:06 -07:00
dahlia ce043c5141 Allow changes to TextureEntry to propagate to viewers when MaterialID changes 2013-04-17 22:41:12 -07:00
Justin Clark-Casey (justincc) 7f070236f7 Fix taking (and rezzing) of coalesced objects in the non-root subregions of megaregions.
This fixes the combined bounding box location for regions bigger than 256x256.
It also fixes the position on taking coalesced objects in the non-root regions, where position checks are properly done on rez instead.
It also fixes the megaregion land channel to return null if the land does not exist, which should probably also be done for the ordinary land channels rather than returning a dummy region.
Inspiration from Garmin's commit in http://opensimulator.org/mantis/view.php?id=6595.  Thanks!
2013-04-06 02:34:51 +01:00
Justin Clark-Casey (justincc) 831e4c3850 Fix bug where outstanding llHTTPRequests for scripts were not being aborted when they were deleted.
This was because AsyncCommandManager was handing an item ID to IHttpRequestModule.StopHttpRequest() rather than the expected request ID.
This commit also makes the http request asynchronous using BeginGetResponse() rather than doing this by launching a new thread
so that we can more safely abort it via HttpWebRequest.Abort() rather than aborting the thread itself.
This also renames StopHttpRequest() to StopHttpRequestsForScript() since any outstanding requests are now aborted and/or removed.
2013-04-04 00:36:15 +01:00
Justin Clark-Casey (justincc) 7bf1986e91 Fix minor race condition in SOP.SitTargetOrientationLL where inconsistent values could be returned if the sit orientation was changed whilst the property was being fetched. 2013-04-03 00:24:33 +01:00
Justin Clark-Casey (justincc) 97f0c9da84 Use consistent GroupPosition value Make SOP.UpdateGroupPosition() rather than one that could change whilst the method is being executed. 2013-04-03 00:23:20 +01:00
Justin Clark-Casey (justincc) c0319daa40 fix minor race condition in SOP.SitTargetPositionLL where inconsistency could occur if the sit target position changed whilst the property was fetched 2013-04-03 00:09:28 +01:00
Justin Clark-Casey (justincc) 3332af4060 minor: Make SOP.UpdateOffset() more consistent by checking against the same old OffsetPosition rather than one which may vary if it simultaneously changes. 2013-04-03 00:01:06 +01:00
Justin Clark-Casey (justincc) a3c723ee30 Fix minor race condition where SOP.GetGeometricCenter() and GetCenterOfMass() could return results which were never the case if these values were changed whilst the method was running
No need to create new Vector3s since these are structs.
2013-04-02 23:48:55 +01:00
Melanie 9b83e53b28 Export permission, part two. Setting export perms for textures and clothing works. Setting perms for prims also works but they don't propagate correctly yet.
NOT FOR PRODUCTIN USE. Your database will need to be updated before you can use this!
2013-03-31 21:59:44 +01:00
Kevin Cozens cbc9ae898c Added missing functionality (mainly custom headers) to llHTTPRequest. 2013-03-29 23:32:11 +00:00
Justin Clark-Casey (justincc) 023faa227e Check viewer 2/3 attachment calls against avatar appearance attachment data rather than actually attached objects
By checking against the grid's Avatar data, we can ignore viewer side attachments but still initiate these calls simulator-side.
Initiating simulator-side is always necessary for version 1 viewers.
This is a further commit to resolve http://opensimulator.org/mantis/view.php?id=6581
2013-03-29 23:10:28 +00:00
Justin Clark-Casey (justincc) 23ae4c0a4d Fix bug where CHANGED_REGION and/or CHANGED_TELEPORT weren't firing for scripts in attachments.
This was because the script resumption in AttachmentsModule was firing the attach event instead.
Had to reinstate the code in 285bd3a do we can resume the scripts there instead, though the bug existed before its removal.
This is to resolve http://opensimulator.org/mantis/view.php?id=6578
2013-03-29 02:21:38 +00:00
Justin Clark-Casey (justincc) 285bd3abc8 Eliminate code which tries to restart attachment scripts in ScenePresence.MakeRootAgent(), since this is already done in AttachmentsModule 2013-03-29 00:49:55 +00:00
Justin Clark-Casey (justincc) c92654fb43 Stop attempts to update/add existing attachments in user inventory when teleporting between regions.
This appears to resolve issues on teleport where attachments disappear or become labelled as invalid within user inventory.
2013-03-28 23:57:35 +00:00
Justin Clark-Casey (justincc) 03e421bf3d minor: comment out unused Scene.AgentCrossing() to reduce code complexity 2013-03-28 22:55:13 +00:00
Justin Clark-Casey (justincc) 4ad9b27530 If the viewer has already rezzed any attachments itself, then ignore the simulator-side rez attachments call.
This is a further effort to reduce v3 viewer race conditions where this call may clash with the viewer signalling attachment wearing from its current outfit folder.
2013-03-28 22:51:59 +00:00
Justin Clark-Casey (justincc) 3b377f16b2 Fix regression tests by making a new NPC always trigger simulator side attachment code when created.
Regression from previous commit c2093ccc.  Failed because NPCs don't set the ViaLogin flag
2013-03-28 22:44:59 +00:00
Justin Clark-Casey (justincc) c2093ccce1 Move the simulator-side RezAttachments call on login to SP.MakeRootAgent with the other attachments code, using TeleportFlags.ViaLogin check to fire if necessary.
This is to simplify the code (no tricky 'wasChild' signalling required)
and to reduce the risk of a thread clash between simulator-side attaching (necessary for v1 viewers)
and the viewer-side attaching the v3 viewers perform.
2013-03-28 22:07:58 +00:00
Melanie 5f4c4df227 Phase 1 of implementing a transfer permission. Overwrite libOMV's PermissionMask
with our own and add export permissions as well as a new definition for "All" as meaning "all conventional permissions" rather than "all possible permissions"
2013-03-26 03:40:06 +00:00
Justin Clark-Casey (justincc) 01636ca900 Fix teleporting into the non-SW 256x256 corner of a megaregion, though currently with a 10 second delay before auto-reteleport to the correct location.
This now does a check for border crossing (required to trigger the teleport) immediately in SP.MakeRootAgent().
If left any later, it looks like the physics scene changes the position and stops the cross happening.
If done any earlier, nothing happens because the cross-code currently requires a PhysicsActor to be in place, thuogh it's probably not necessary for this case.
2013-03-23 00:47:59 +00:00
Justin Clark-Casey (justincc) 93206ef0fa Add "show borders" command to show the borders of a region.
This is relevant to mega-regions where the borders are very different to a regular region.
Also adds some method doc and other code comments.
2013-03-23 00:45:21 +00:00
Justin Clark-Casey (justincc) 46c833810c On a teleport, lock m_agentsInTransit whilst we grab the value to check for completion just to be sure we're not using a thread cached version. 2013-03-21 00:46:08 +00:00
Justin Clark-Casey (justincc) 4de530af45 minor: disable logging on regression TestCrossOnSameSimulator() that I accidentally left on a few commits ago. 2013-03-20 23:13:12 +00:00
Justin Clark-Casey (justincc) b1cd1d917e minor: don't bother with the pause before rezzing attachments if we are running regression tests (fire and forget calls launched on the same thread).
Also adds code comments as to why this pause exists.
2013-03-20 23:12:13 +00:00
Justin Clark-Casey (justincc) 36651bed71 On the later forms of teleport failure, tell the user if this was because viewer couldn't/didn't connect with destination or if destination didn't signal teleport completion.
Also adds regression test for the case where the viewer couldn't connect with the destination region.
Also refactoring of regression test support code associated with entity transfer in order to make this test possible and the code less obscure.
2013-03-20 23:01:16 +00:00
Justin Clark-Casey (justincc) 8de933ab07 Insert a short delay on the simulator side rezzing of attachments in order to fix viewer 3 issues if its own rezzing actions on login collide with the simulator side actions.
This resolves issues (at least in my tests with LL 3.3.4) where this can make attachments invisible until one zooms in on the avatar.
This doesn't affect version 1 viewers since this delay is shorter than the login delay.
This doesn't increase the login time since this part of the process was already being performed asynchronously.
This may be a temporary solution.
2013-03-20 02:09:25 +00:00
Justin Clark-Casey (justincc) 3cb1c23554 Force a viewer object update for attachments at the end of the final Scene.CompleteMovement() in order to make all multi-attachments appear on the destination region.
For some reason, sending updates before this will not have this effect.
This may be something related to some viewers (e.g. LL 3.3.4) or something OpenSimulator isn't getting quite right.
2013-03-20 01:46:50 +00:00
Melanie 5e1f651e21 Merge branch 'master' into newmultiattach
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
2013-03-18 23:31:27 +00:00
Melanie fcecfc81bb Multiattach, part 1
Conflicts:

	OpenSim/Framework/AvatarAppearance.cs
	OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
	OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs
	OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
	OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2013-03-18 22:56:03 +00:00
Justin Clark-Casey (justincc) e9c394fb4e Make llGetObjectDetails() return the correct world rotation for a sitting avatar
This addresses http://opensimulator.org/mantis/view.php?id=6567
This creates a ScenePresence.GetWorldRotation() with the same semantics as SOP.GetWorldRotation()
SP.Rotation can't be used since it's relative to the sat upon prim if the avatar is sitting.
2013-03-14 21:23:48 +00:00
Justin Clark-Casey (justincc) 48d41ef307 Remove unnecessary instation of DOMap() in SOP from commit 5c53660 since this is being done lazily 2013-03-13 23:25:56 +00:00
Justin Clark-Casey (justincc) 5c53660a7f Add prototype dynamic objects map for scene object parts
This allows region modules to add dynamic objects to SOPs rather than having to continually push and pull OSD dynamic attributes.
This is to explore the original MOAP use case for dynamic attributes where it could be very awkward and possibly time-consuming to keep reconstructing MediaEntrys from stored DynamicAttributes.
This commit adds a DOExampleModule to demonstrate/evolve this code.
Dynamic objects involve no storage or persistence changes - the 'backing store' for any data that does need to be saved will remain the DAMap.
DOExampleModule in this commit only attaches a fresh dynamic object.  Actually constructing this from stored dynamic attributes and handling persistence is left for later.
These changes should affect no existing functionality, though it may or may not reveal necessary changes in DAMap down the road.
2013-03-13 22:59:06 +00:00
Justin Clark-Casey (justincc) 0c6268fe56 minor: remove mono compiler warning in SceneObjectUndoRedoTests 2013-03-11 23:15:13 +00:00
teravus 5097437e11 * Apparently, sometimes texture entries come in from the wire with no default texture defined.. so apply better fallback protection against that. The net result is clients will have their selected textures set when they would have previously had an ignored exception. 2013-03-08 19:32:47 -05:00
Justin Clark-Casey (justincc) 2fe938d11d Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-03-06 23:07:04 +00:00
Justin Clark-Casey (justincc) 5751ecde52 Add code for testing event queue messages recevied on region cross.
This is currently disabled pending an improvement in the test code to properly add avatars when an event queue module is present.
2013-03-06 23:06:00 +00:00
Justin Clark-Casey (justincc) 8960418e7d Add regression test for presence crossing between regions on the same simulator.
Unlike a much earlier commented out version of this test, this is done in synchronous mode.
2013-03-06 21:37:53 +00:00
Mic Bowman 9875e840f7 Per discussions with justincc... split the JsonStore type
functions into one for node type and one for value type.
Define and export constants for both nodes and values.
2013-03-05 20:33:17 -08:00
Justin Clark-Casey (justincc) 1bc8692a99 Move AllowedClients and BannedClients section to new [AccessControl] section in OpenSim.ini from [Startup]
This change also corrects the setting names - they were actually wrong (though the text in {} was correct).
If there are settings in [Startup] they will continue to be used and anything there will override settings in [AccessControl]
2013-03-02 01:43:54 +00:00
Justin Clark-Casey (justincc) 14684116f8 Add regression tests for llGetNotecardLine() 2013-02-28 20:57:03 +00:00
Justin Clark-Casey (justincc) 0e8ec5649e Get "show modules" console command to obey selected command line region/s 2013-02-27 22:32:14 +00:00
Justin Clark-Casey (justincc) b8a7c8b26f Add regression test for llRequestUrl() 2013-02-26 23:36:36 +00:00
Justin Clark-Casey (justincc) d0cb4fc326 Move map related settings from [Startup] to a new [Map] section in OpenSim.ini
Existing map settings in [Startup] will continue to work, and if present will override anything in [Map]
However, the proper place for such settings would now be [Map]
This is to reduce the use of [Startup] as a bag for non-generic settings which should really go in sections, in common with other settings.
This commit also extends Diva's previous work to allow a default setting to be given when looking at multiple sections for settings.
2013-02-25 23:04:38 +00:00
Justin Clark-Casey (justincc) a93f06eb88 minor: Add doc to ScenePresence.IsInTransit to make it clear that this is set only for region crossing and not teleport, etc. 2013-02-22 23:08:42 +00:00
Mic Bowman 903b40b47e Fix the JsonStore path set problem justincc found earlier today and
remove the deprecated TestPath functions.
2013-02-19 22:53:46 -08:00
Diva Canto 4779f7d7d5 Deleted all AssemblyFileVersion directives 2013-02-19 17:14:55 -08:00
teravus 6560d80fa8 * Fix walking to <NaN, NaN, NaN> via autopilot. 2013-02-16 22:54:37 -05:00
Justin Clark-Casey (justincc) e9cc22fea4 Add regression test TestSaveNonRootFolderToIar 2013-02-16 00:26:21 +00:00
Justin Clark-Casey (justincc) edb99dcc19 Rename new JsonScript functions JsonPathType() -> JsonGetPathType() and JsonArrayLength() -> JsonGetArrayLength()
This is for consistentency with the verb:noun naming approach existing json script functions and other script functions.
Corresponding c# methods also changed since verb:noun is also the .net c# method naming guideline (as used by OpenSimulator) and for consistency with script functions.
As agreed with cmickeyb
2013-02-14 21:11:58 +00:00
Robert Adams 5920abbf8d Add EventManager events triggered when a SOP is added or removed
from the physical scene. Invocations added in SceneObjectPart.
2013-02-14 09:48:11 -08:00
Melanie ef662fc959 Add an event and some logic to allow customizing Simulator Features by avatar 2013-02-14 09:11:57 +00:00
Mic Bowman bcb172301d Adds a couple requested functions to the JsonStore script
interface. JsonPathType returns the type of node pointed to by the
path and deprecates the functionality of both JsonTestPath
functions. JsonArrayLength returns the length of an array node.
2013-02-13 07:14:04 -08:00
Melanie 6f3dcf58b8 Fix code to check for no spawn points. Possibly a merge artefact? 2013-02-10 20:00:39 +00:00
BlueWall adedd70c35 Fix teleport/telehub issue:
Fix bug that allowed only login access to regions with mis-configured telehubs. Administrators now have teleport access when there exists a mis-configured telehub in the region. Estate owners are now placed at region center in the absence of spawnpoints instead of being denied access. Grid Gods are unrestricted. All others are denied access to the region until spawnpoints are assigned to the telehub object.
2013-02-10 13:01:33 -05:00
Justin Clark-Casey (justincc) c2bf91c5e3 If a component of a coalesced object fails to deserialization, do not add a null where the object should be.
This prevents a later load IAR failure.
This code is currently only used by IAR loading.
2013-02-08 02:45:30 +00:00
Melanie a2dad09172 Actually plumb the new values to physics. 2013-02-07 23:34:47 +00:00
Melanie 22675e6b14 Add some more code from Avination. This changes physics actor stuff around
to work with the new params. Not actually plumbed just yet.
2013-02-07 23:22:00 +00:00
Melanie 7bf33d333a Plumb the path from the client to the extra physics params and back 2013-02-07 22:25:28 +00:00
Melanie 9089757ea2 Revert "Add plumbing for physics properties to get to the physics engine."
This reverts commit c658fa1c0d.
2013-02-07 21:05:58 +00:00
Robert Adams c658fa1c0d Add plumbing for physics properties to get to the physics engine.
Addition of entries to PhysicsActor and setting code in SceneObjectPart.
2013-02-07 11:10:15 -08:00
Melanie 6504e3d4ce Rename "Bounciness" to "Restitution" 2013-02-07 03:30:02 +00:00
Mic Bowman e17392acbb Enables script access to the per object dynamic attributes through the JsonStore
script functions. Adds JsonAttachObjectStore to associate a store identifier with
an object (scripts can only access the store in their host object, this could be
extended but isn't necessary for now).

Note this opens a method to the DAMap OSDMap. This will be removed later, but
greatly simplifies the code for now.

The JsonStore and these scripts are disabled by default.
2013-02-06 17:29:17 -08:00
Melanie e5beb480ea Partial port of Avination's support for the new physics parameters.
Implements the parameters as properties, the serialization and
database storage (MySQL only). Implements llSetPrimitiveParams for
prim physics shape and the other 4 extra params. Only the prim shape type
"None" is currently functional. No support for the Viewer UI (yet), that
will be ported in due course. Lots more to port, this is a large-ish changeset.
2013-02-06 08:03:04 +00:00
Justin Clark-Casey (justincc) 145e38e5e9 Remove long unused Scene.DumpAssetsToFile boolean. 2013-02-06 02:21:17 +00:00
Justin Clark-Casey (justincc) 2ce8a050e4 Remove very long unused IScriptHost and NullScriptHost 2013-02-06 02:15:54 +00:00
Justin Clark-Casey (justincc) 9ebad38c34 Remove unused ScriptEngineLoader and ScriptEngineInterface in OpenSim.Region.Framework.dll
I believe this predates the generic system of registering interfaces and is very long unused.
2013-02-06 02:08:44 +00:00
Justin Clark-Casey (justincc) dfe5826f9f Remove wrong code in ScriptUtils.GetAssetIdFromKeyOrItemName which would return the item ID instead of the asset ID if the identifier was a uuid that matched an inventory item name.
This would practically never happen.
This makes this overloaded version of the function consistent with the other version.
It looks like this accidentally came over in commit c5af16a from Tue Oct 16 12:40:21 2012
However, there's arguably a case for looking for an item name that matches a UUID before assuming that the identifier is already an asset ID.
2013-02-06 01:49:32 +00:00
Justin Clark-Casey (justincc) 5c94346bd7 refactor: Move functions that lookup asset ids from task inventory or pass them through to ScriptUtils class in OpenSim.Region.Framework.dll
Renames functions to better reflect what they do.
This is so that code registering with modInvoke() can reuse this code to provide functions that behave in a consistent manner with existing LSL/OSSL functions.
2013-02-06 01:17:19 +00:00
Justin Clark-Casey (justincc) 1fc9f282fa Merge branch 'dynamic-attributes2' 2013-02-05 00:35:15 +00:00
Justin Clark-Casey (justincc) 1f1da23097 Bump version and assembly version numbers from 0.7.5 to 0.7.6
This is mostly Bluewall's work but I am also bumping the general version number
OpenSimulator 0.7.5 remains in the release candidate stage.
I'm doing this because master is significantly adding things that will not be in 0.7.5
This update should not cause issues with existing external binary DLLs because our DLLs do not have strong names
and so the exact version match requirement is not in force.
2013-02-05 00:23:17 +00:00
Justin Clark-Casey (justincc) 0d0bfa4dcd minor: change comment about assuming script references are textures in UuidGatherer since this is no longer the behaviour. 2013-02-02 03:02:04 +00:00
Justin Clark-Casey (justincc) 9822bb664b Log missing assets on "fcache assets" found. This ignores references found by scanning LSL/notecard files since these are the source of false positives.
This also changes UuidGatherer to reutn an AssetType.Unknown for embedded script/lsl references instead of Texture, since these are often not textures.
This is added to help people in determining when they have missing assets such as textures, etc.
In this case, one wants to run "fcache clear" first.
2013-02-02 02:57:38 +00:00
teravus d8d4e7f236 Sit and Spin reduction. If sitting, slam avatar angular velocity to zero. 2013-02-01 15:42:24 -05:00
Melanie 6a4c8824ea Whitespace fix and removing unneccessary parentheses 2013-01-31 20:46:41 +00:00
BlueWall a8fa8af9fc Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-01-30 23:44:06 -05:00
Jak Daniels fac72d540b Allow use of MaptileStaticUUID in Regions.ini to override the global setting in OpenSim.ini for each region.
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2013-01-30 23:37:02 -05:00
Mic Bowman a0ef3df194 Add JsonTestStore to determine if a JsonStore is associated with
a particular UUID.
2013-01-30 14:45:03 -08:00
teravus 52ea6eadae * This adds a bit more to the previous flying roll effect by adding additional roll when pressing page down, and reducing your roll when pressing page up to make it feel more responsive and give the user more visual feedback. 2013-01-30 07:34:48 -05:00
teravus 7c4e0ff03c * Adds a satisfying angular roll when an avatar is flying and turning. (General, not physics). Makes flying not feel as stiff. 2013-01-30 06:22:05 -05:00
Melanie 776cc33541 Prevent items being destroyed by rename operations. Renaming of a wearable also
sends an asset transaciton but it is empty. So we can't ignore name data
when a transaction is present and can't treat every transaction as valid.

Conflicts:

	OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
2013-01-27 01:07:37 +00:00
Justin Clark-Casey (justincc) 53833babf9 Add OnScriptMovingStartEvent and OnScriptMovingEndEvent to EventManager so that these can be triggered by future code (not yet implemented).
Also hooks up moving_start and moving_end script events, eliminating itemID on XEngine EventManager methods since this is completely unused.
An adaptation of the patch in http://opensimulator.org/mantis/view.php?id=6515
Thanks Garmin Kawaguichi and Signpost Marv.
2013-01-26 03:57:51 +00:00
Oren Hurvitz af6a7cf95d Added DynAttrs to the serialized XML format of prims. When copying prims, use deep copy for DynAttrs. 2013-01-25 04:03:26 +00:00
Justin Clark-Casey (justincc) a6d9c26365 Encapsulate an OSDMap in DAMap (was DynAttrsOSDMap) rather than inheriting from it
This is the easier way to give us control over locking, rather than asking that OSDMap IDictionary methods be virtual
2013-01-25 04:03:11 +00:00
Justin Clark-Casey (justincc) 1bd0b06ec1 Implement Dynamic Attributes for SOP and PBS. Implement storage in SQLite 2013-01-25 04:03:04 +00:00
teravus 878df52515 * This makes the non-physics llCastRay 'better'. It's not 'correctly working', and if you look deep enough, you see that the results are not really stable depending on the direction of the ray. 2013-01-23 21:58:51 -05:00
Melanie c1795ed399 Add the Avination physics raycast glue so Core Physics can implement raycast 2013-01-23 21:03:24 +00:00
Robert Adams 95c53ecae7 Have SOP and LSL_Api call the proper GetCenterOfMass and GetGeometricCenter
routines on the physics engine. Won't make a difference for any
existing scripts since ODE always returned Vector3.Zero.
2013-01-21 15:55:54 -08:00
Justin Clark-Casey (justincc) fc6115f777 Check the existing ScenePresence.ParentPart to make sure we're not trying to sit on a prim we're already sat upon, rather than looking up the part from scratch.
An adaptation of commit 055b8a2
Having both ParentID and ParentPart references now is redundant.  ParentID should probably be eliminated.
2013-01-19 02:29:02 +00:00
Justin Clark-Casey (justincc) 115e1c2abb Add "debug set set animations true|false" region console command.
Setting this logs extra information about animation add/remove, such as uuid and animation name
Unfortunately cannot be done per client yet
2013-01-18 23:22:02 +00:00
Justin Clark-Casey (justincc) 74256c0cc4 Restore previous client AO behaviour by not allowing them to remove the default animation but continue to allow scripts to do so.
This keeps the fix from http://opensimulator.org/mantis/view.php?id=6327
and fixes the behaviour regression in http://opensimulator.org/mantis/view.php?id=6483
Animations may still exhibit different behaviour if both scripts and clients are adjusting animations.
A change in the behaviour of client AO to not remove all animations may be a better long term approach.
2013-01-18 22:57:09 +00:00
Justin Clark-Casey (justincc) 0963ece25b Implement co-operative script termination if termination comes during a script wait event (llSleep(), etc.)
This makes use of EventWaitHandles since various web references indicate that Thread.Interrupt() can also cause runtime instability.
If co-op termination is enabled, then termination sets the wait handle instead of waiting for a timeout before possibly aborting the thread.
This allows the script to cleanly terminate if it's in a llSleep/LL function delay or the next time it enters such a wait without any timeout period.
Co-op termination is not yet testable since checking for termination request within loops that never trigger a wait is not yet implemented.
This commit, unlike 1b5c41c, passes the wait handle as an extra parameter through IScript.Initialize() instead of passing IScriptInstance itself.
2013-01-16 02:07:43 +00:00
Justin Clark-Casey (justincc) b8949024bc Revert "Implement co-operative script termination if termination comes during a script wait event (llSleep(), etc.)"
Doing this as a favour to Melanie.  This will be back with passing the wait handles directly to the api.

This reverts commit 1b5c41c14a.
2013-01-16 01:45:09 +00:00
Justin Clark-Casey (justincc) 03a8a4426f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-01-16 00:20:18 +00:00
Justin Clark-Casey (justincc) 1b5c41c14a Implement co-operative script termination if termination comes during a script wait event (llSleep(), etc.)
This makes use of EventWaitHandles since various web references indicate that Thread.Interrupt() can also cause runtime instability.
If co-op termination is enabled, then termination sets the wait handle instead of waiting for a timeout before possibly aborting the thread.
This allows the script to cleanly terminate if it's in a llSleep/LL function delay or the next time it enters such a wait without any timeout period.
Co-op termination is not yet testable since checking for termination request within loops that never trigger a wait is not yet implemented.
2013-01-16 00:12:40 +00:00
dahlia 055b8a2d58 move resit fix to ScenePresence.cs and allow for requesting sit on objects other than the object currently sat on 2013-01-14 22:24:24 -08:00
Robert Adams daacd4deed Fix exception reporting in SceneObjectPart so it logs what the exception is rather than just saying it happened. 2013-01-11 16:47:07 -08:00
Justin Clark-Casey (justincc) 05ac6d3209 Save attachments on detach/exit if a contained script state has been changed.
This involves making Attachments module listen for start/stop script changes.
It also involves removing the script from the region on detach in the same manner as every other DeleteSceneObject() call rather than simply stopping it
This is necessary tue to the bad assymetry of start and stop script triggers but it appears to be the correct behaviour anyway, as detached objects are completely gone from the sim.
Not just in a state where their scripts have been stopped.
2013-01-11 01:46:36 +00:00
Justin Clark-Casey (justincc) a16ae5d7e3 Move scene debug commands into separate module. Command changes from "debug scene <key> <value>" to "debug scene set <key> <value>" to accomodate future settings 2013-01-10 23:49:48 +00:00
Justin Clark-Casey (justincc) 983e458bb6 refactor: route the final scene backup through the same code that handles periodic backup
This is rather than making unnecessary duplicate checks that the SOG later performs again.
2013-01-10 22:59:40 +00:00
Justin Clark-Casey (justincc) 701ca1e4b8 Add "debug scene pbackup true|false" console command. This enables or disable periodic scene backup. For debug purposes.
If false, scene is still saved on shutdown.
2013-01-10 22:38:48 +00:00
Melanie f16c4a254c Revert "Prevent empty Anim Packs"
This reverts commit 5561333668.
2013-01-09 00:20:24 +00:00
Melanie c1c540f454 Revert "Fix sequence id fr default anim"
This reverts commit a775931a0c.
2013-01-09 00:20:14 +00:00
Melanie a775931a0c Fix sequence id fr default anim 2013-01-08 23:36:05 +00:00
Melanie 5561333668 Prevent empty Anim Packs 2013-01-08 23:12:32 +00:00
Justin Clark-Casey (justincc) 9503383887 Fix llGetLinkKey() to return the last sat avatar as the last link number.
As per http://wiki.secondlife.com/wiki/LlGetLinkKey
This is done by keeping a scene-object wide list of sitters.
This also fixes bugs in this function where linknums 0 and 1 weren't treated properly if there were sitting avatars on a single prim.
This also fixes a minor race condition for multiple concurrent sitters on a prim with no current sitters by locking on the object-wide list rather than individual sop lists
Addresses http://opensimulator.org/mantis/view.php?id=6477
2013-01-04 20:34:39 +00:00
Oren Hurvitz 1a6694b264 Fixed several problems with the Sun: some settings didn't work, or were inconsistently used. - The sun position is always calculated by combining the sun settings in the Region and Estate. This fixes the problem that 'UseEstateSun' didn't work. - To remove ambiguity, the EstateToolsSunUpdate event no longer accepts the sun's position as parameters. That's because the position is always calculated from the Region and Estate settings. - Use only the 'FixedSun' flag to determine whether the sun is fixed; not the 'UseGlobalTime' flag. - Don't change the region's 'SunPosition' field according to the sun's position: this field is used only to set the position when using a FixedSun. (The 'SunVector' field does get updated according to the sun's position in the sky) 2013-01-02 23:16:24 +00:00
Robert Adams fdf8732cd7 ScenePresence passes the avatar rotation down to the physics engine. This will be a no-op for ODE but enables asymmetrical avatars for BulletSim. 2012-12-28 16:29:16 -08:00
Robert Adams 5afab9bcfe Add check to always push terse updates for presences that have new velocities of zero. 2012-12-27 22:12:27 -08:00
Robert Adams d15bfcf614 Replace axis rotation numeric constants (STATUS_ROTATE_XYZ) with symbols. Also made it so llSetStatus() can individually enable disable rotation axi using the bitmask of flags. 2012-12-18 19:25:40 -08:00
Robert Adams 8a95953bb7 BulletSim: experimentally remove unit displacement from prim border crossing test. This seems to cause border crossing to be sensed either a little early or a little late depending on which directin the object is moving. If border crossings become totally borked or someone remembers why this was displacement was done, revert this change. 2012-12-16 21:19:12 -08:00
Justin Clark-Casey (justincc) 494e6a5f11 minor: If the physics module tells us that an object has gone out of bounds, more helpfully log the name, id, position and region of that object. 2012-12-15 00:30:17 +00:00
Justin Clark-Casey (justincc) 56ec177b3b minor: Add commented out log lines to ScenePresenceAnimator for future debug use (such as logging anim pack contents sent to clients) 2012-12-14 23:42:23 +00:00
Justin Clark-Casey (justincc) 750ad2d3af Fix issue where calling llVolumeDetect(FALSE) would not remove phantom flag, causing subsequent issues if physics was re-enabled.
Added regression tests
Addresses http://opensimulator.org/mantis/view.php?id=6365
2012-12-14 22:15:40 +00:00
Dan Lake 88b094cbf7 Simplify sit code a bit by determining correct animation in HandleSit instead of HandleSitRequest. This eliminates m_nextSitAnimation, an unneeded state-saving variable in ScenePresence 2012-12-13 13:05:28 -08:00
Diva Canto b8178f5a50 Switched the order by which foreign inventory and foreign assets are brought in, to avoid race conditions on the client. 2012-12-09 22:03:21 -08:00
Diva Canto cb80d8a29c UserManagementModule: search the local cache for names too.
Inventory transfers: don't do async on asset transfers or now.
2012-12-09 15:31:11 -08:00
Justin Clark-Casey (justincc) 0568c76a88 Use a thread abort safe version of OpenMetaverse.DoubleDictionary with the aim of avoiding OpenSimulator problems due to script thread aborts.
When an object is removed, its scripts are stopped and then the thread running them is aborted if stop takes too long.
However, it appears that aborting a thread at just the wrong moment when it is obtaining a ReaderWriterLockSlim lock can leave this lock in an inconsistent state.
One symptom of this is that mono leaps to 100% cpu and a vm thread dump reveals lots of threads waiting for a ReaderWriterLockSlim lock without any thread actually holding it.
This is probably the same problem as encountered originally in commit 12cebb12
This commit looks to plaster this problem by putting lock obtaining methods inside finally blocks which should be uninterruptible by thread aborts.
2012-12-07 00:47:04 +00:00
Justin Clark-Casey (justincc) fb26d32a5c minor: Put Scene.PhysicsRequestAsset() into standard C# xml format. 2012-12-04 22:33:25 +00:00
BlueWall ac65085cc3 XmlRpcGridRouter
Flesh out XmlRpcGridRouter to reap unused channels from gateway when scripts or objects are removed, or when the llCloseRemoteDataChannel is called.

  See: http://http://forge.opensimulator.org/gf/project/xmlrpcrouter/ or
       https://github.com/BlueWall/XmlRpcRouter

  for php gateway and test code.
2012-12-03 20:16:44 -05:00
Justin Clark-Casey (justincc) 02db8b9adb Combine TestDeleteSceneObjectAsync() with TestDeRezSceneObject() as they are functionally identical.
Move TestDeleteSceneObjectAsync() and TestDeleteSceneObjectAsyncToUserInventory() from SceneObjectBasicTests -> SceneObjectDeRezTests
2012-11-24 03:49:23 +00:00
Justin Clark-Casey (justincc) a4ce63d0cd Fix regression TestDeleteSceneObjectAsyncToUserInventory by adding a BasicInventoryAccessModule() and re-enable in test suite. 2012-11-24 03:38:15 +00:00
Justin Clark-Casey (justincc) 22d4c52ffc Consistenly make NUnit test cases inherit from OpenSimTestCase which automatically turns off any logging enabled between tests 2012-11-24 03:15:24 +00:00
Justin Clark-Casey (justincc) 1f336579c8 minor: Make note in log if scene was restarted due to an unrecoverable physics error 2012-11-23 04:06:48 +00:00
Justin Clark-Casey (justincc) 8c8c8a00a4 Fix problem where restarting the currently selected region would stop various console commands (e.g. "show users") from working.
This was because the "currently selected" scene reference was being left as the dead scene instead of the restarted Scene object.
2012-11-23 02:22:30 +00:00
Justin Clark-Casey (justincc) 049987925d Add regression test for checking scene close when SceneManager is asked to close 2012-11-23 02:05:30 +00:00
Justin Clark-Casey (justincc) 61808d148e Fix regression where we stopped closing scenes on simulator exit.
If we don't do this, then these scenes don't get deregistered from the grid, amongst other things.
Regression was introduced in commit 8c130bc (Mon Nov 12 22:50:28 2012 +0000)
2012-11-23 01:01:39 +00:00
Justin Clark-Casey (justincc) 597a101b9f Minor formatting for 0962a35d and a few one-line comments as to why that code is there 2012-11-20 05:09:44 +00:00
Iain Oliver 0962a35d2f Fix movetotarget on mega regions. 2012-11-20 04:54:13 +00:00
Diva Canto aeeaa3a0a9 Added AssemblyInfos to every dll in the OpenSim.Region namespace. 2012-11-14 11:09:43 -08:00
Melanie 4edaa4e41a Completely remove the IRegionModule interface 2012-11-12 22:56:59 +00:00
Melanie faca755995 Stop closing old style modules 2012-11-12 22:51:24 +00:00
Melanie 8c130bcaf5 Remove the old style module loader and all references to it 2012-11-12 22:50:28 +00:00
SignpostMarv f560d581bb document & 80-character width terminal formatting
Signed-off-by: Diva Canto <diva@metaverseink.com>
2012-11-11 13:50:38 -08:00
PixelTomsen 37c9700904 moving windlight-sources to correct namespace-named folder (world); add LightShare as Interface
Signed-off-by: Diva Canto <diva@metaverseink.com>
2012-11-11 11:17:40 -08:00
Diva Canto e10d61ea8c One more module converted: CloudModule. 2012-11-10 11:59:08 -08:00
SignpostMarv d0742cea3e 80 character-width terminal formatting of IDialogModule interface, removing superfluous whitespace & line-endings. 2012-11-10 08:12:30 -08:00
SignpostMarv ee3d06220e Documenting parameters of methods on the IDialogModule interface 2012-11-10 08:12:30 -08:00
Justin Clark-Casey (justincc) c94240ba5b Uncomment SceneObjectBasicTests.TestDeleteSceneObjectAsyncToUserInventory() and make it compile again
Not currently in test suite since not yet working.
Also add method doc to Scene.DeRezObjects()
2012-11-10 05:43:57 +00:00
Diva Canto 19aab3e6fe Converted the WindModule to the new region module interface (38 to go). Also added both the WindModule and the SunModule to the Plugin manifest. 2012-11-09 16:28:30 -08:00
Diva Canto 7dfd1468cc Converted the SunModule to the new region module interface. (39 to go...) 2012-11-09 15:38:10 -08:00
SignpostMarv 5bff741544 marking IRegionModule interface as obsolete via System.ObsoleteAttribute, intentionally triggering a bunch of warnings in compiler output in hopes of encouraging other developers to refactor built-in modules when they have free time. 2012-11-09 14:20:24 -08:00
Melanie f391d028de Add a method to query all registered script constants to allow non-XEngine
script engines to use them.
2012-11-04 22:39:15 +00:00
Dan Lake 2e106cd5de Change to earlier commit for TargetVelocity to support distributed physics. 2012-11-02 03:09:04 -07:00
Dan Lake ffe4d738fb Add TargetVelocity to PhysicsActor interface to support distributed physics. No change to existing functions. 2012-10-31 17:13:18 -07:00
Justin Clark-Casey (justincc) 6235d16c31 Make "show object part" command correctly display script status.
Uses new IEntityInventory.TryGetScriptInstanceRunning()
Makes it clearer that TaskInventoryItem.ScriptRunning cannot be used as it is temporary and not updated.
2012-10-31 00:31:18 +00:00
Melanie 3388534ff5 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-10-30 23:14:06 +00:00
Melanie fd9cb3cb68 Store and send the current movement animation state to a new sim on crossing 2012-10-30 23:08:22 +00:00
Justin Clark-Casey (justincc) 984faf24df Only create a new list to check if objects have reached targets if there actually are any targets. 2012-10-30 01:48:05 +00:00
SignpostMarv 2bb0419251 documenting some params on ISoundModule methods 2012-10-29 23:39:01 +00:00
SignpostMarv a9999a9676 Refactoring llTriggerSoundLimited with a new method on ISoundModule, as the LL Wiki spec for llTriggerSoundLimited states an axis-aligned bounding box, not radial constraint 2012-10-29 23:39:01 +00:00
SignpostMarv c5af16aef8 shuffling code around so that the interface for ISoundModule.SendSound() specifies a UUID rather than a string 2012-10-29 23:39:00 +00:00
SignpostMarv 5abcecc735 moving SendSound from SceneObjectPart to ISoundModule 2012-10-29 23:39:00 +00:00
SignpostMarv af39af1cc4 fixing a bug in SceneObjectPart.SendSound where sounds would always come from the root prim rather than the source prim 2012-10-29 23:39:00 +00:00
SignpostMarv 57940087d1 Factoring out a superfluous local variable & repeated assignment in SceneObjectPart.SendSound as linksets are only meant to have a single owner 2012-10-29 23:38:59 +00:00
SignpostMarv 9df510157e deduplicating code into a single LoopSound method 2012-10-29 23:38:59 +00:00
SignpostMarv 22693304fb removing superfluous lines from SceneObjectPart.SendSound 2012-10-29 23:38:59 +00:00
SignpostMarv d7ffcace8f adjusting parameter order of PreloadSound to be more logical 2012-10-29 23:38:59 +00:00
SignpostMarv 29a8ae48b5 transposing LoopSoundMaster to Sound Module 2012-10-29 23:38:59 +00:00
SignpostMarv a68e2fe169 transposing preload sound onto sound module 2012-10-29 23:38:58 +00:00
SignpostMarv 8763a637b5 transposing stop sound into sound module 2012-10-29 23:38:58 +00:00
SignpostMarv b9e0f1cd2b documenting ISoundModule methods & fields 2012-10-29 23:38:58 +00:00
SignpostMarv d4034271eb formatting ISoundModule prior to documentation 2012-10-29 23:38:58 +00:00
SignpostMarv 1c618843b8 formatting changes to SceneObjectPart.SendSound; consistent indentation 2012-10-29 23:38:58 +00:00
SignpostMarv 32db725dd7 SceneObjectPart.SendSound can exit early if a sound module was not found. 2012-10-29 23:38:58 +00:00
SignpostMarv f4fe8763ad Changing the logic order in the TaskInventory iterator of ScenObjectPart.SendSound, since we can currently have non-unique object inventory names so we should check the asset type first. 2012-10-29 23:38:58 +00:00
SignpostMarv b42cfe49a2 Replacing double-if block in SceneObjectPart.SendSound with Util.Clip 2012-10-29 23:38:57 +00:00
SignpostMarv 1d47bcb6b6 stripping whitespace from ISoundModule, formatting SoundModuleNonShared.cs 2012-10-29 23:38:57 +00:00
SignpostMarv 375fb66589 making the max distance for sounds to be heard from their origin a configurable option exposed via a public field on ISoundModule (with private setter in the implementation) 2012-10-29 23:38:57 +00:00
Justin Clark-Casey (justincc) 09f4e72d6a Fix memory leak where removing an NPC did not remove its circuits.
This was because we were removing by circuitcode where NPCs have no code.
Now removing by agent ID instead.
This commit also fixes the "show circuits" console command to work properly where the circuit has no associated IP address.
2012-10-29 23:22:40 +00:00
Justin Clark-Casey (justincc) 5681e812a5 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-10-29 23:19:06 +00:00
Justin Clark-Casey (justincc) c97890ca69 Add "force gc" region console command which manually invokes garbage collection.
For debugging purposes.
2012-10-29 22:53:06 +00:00
Melanie 5a96ef52cb Deep copy the collection of at_target objects so it can't be modified while
it's being iterated
2012-10-28 18:41:47 +00:00
Melanie 1c5f6e48b8 Separate LSL's notion of the default anim from the actually playing anims. 2012-10-26 21:23:20 +01:00
Melanie de6f147d3c Revert "Fix for Mantis 0006376: Avatar no longer show Walking animation when any AO hud is"
This reverts commit fa484c3494.
2012-10-26 21:16:27 +01:00
SignpostMarv 80dcc13af2 refactoring IWorldCommListenerInfo.GetRegexBitfield() method to be a field with a private setter 2012-10-26 02:08:00 +01:00
SignpostMarv e977761071 adding ability for listeners to be filtered by regular expressions and a general-purpose function to see if a given string matches a given regex 2012-10-26 02:08:00 +01:00
SignpostMarv 18b1ee6f37 Formatting and casing correction in WorldCommModule, trailing new line in OSSL to get git diff to not complain 2012-10-26 02:08:00 +01:00
Justin Clark-Casey (justincc) 2fb89b5aac Comment out InventoryTransferModule.NeedSceneCacheClear() and invocations since the call itself does nothing and the return value is ignored by all callers.
This is a very old method (+4 years) so is probably confusing code cruft.
2012-10-26 01:15:16 +01:00
Justin Clark-Casey (justincc) dc17cee044 minor: if a scene is already shutting down on Scene.Close(), warn and exit instead of attempting to run another shutdown concurrently.
Thanks to Oren Hurvitz for this change.
2012-10-25 23:47:55 +01:00
Oren Hurvitz b4923da334 Changed "course" to "coarse" in several places 2012-10-25 23:32:37 +01:00
Justin Clark-Casey (justincc) 0482758e96 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-10-25 23:17:07 +01:00
Justin Clark-Casey (justincc) 22e216fd12 In Scene.Close(), dispose of the physics scene after base.Close() since script events can still access Physics scene until the script engine shuts down (triggered off base.Close())
XEngine listeners to EventManager.OnShutdown which is triggered from base.Close().
Possibly it could listen for the earlier OnSceneShuttingDown instead, but the easier solution right now is to relocate disposal of the physics scene.
This bug has existed since c150320 (Thu Jul 26 15:27:18 2012) and was in 0.7.4
2012-10-25 22:55:29 +01:00
nebadon fa484c3494 Fix for Mantis 0006376: Avatar no longer show Walking animation when any AO hud is
loaded.  Thank you tglion
2012-10-25 11:31:25 -07:00
Justin Clark-Casey (justincc) c13a99dc5c Fix script error messages not showing up in viewer 3 and associated viewers.
Viewer 3 will discard such a message if the chat message owner does not match the avatar.
We were filling the ownerID with the primID, so this never matched, hence viewer 3 did not see any script error messages.
This commit fills the ownerID in with the prim ownerID so the script owner will receive script error messages.
This does not affect viewer 1 and associated viewers which continue to process script errors as normal.
2012-10-25 03:26:12 +01:00
Justin Clark-Casey (justincc) d9aaf51561 When scripts generate expected exceptions (e.g. due to checked bad parameter) throw ScriptException instead of just a plain old exception.
This is to make it easier to distinguish these exceptions from unexpected OpenSimulator problems internally and in regression tests.
No functional changes.
2012-10-25 02:52:20 +01:00
Justin Clark-Casey (justincc) 81aeecc907 Allow "show object", "show part", "dump object" and "delete object" to accept a local ID as well as a UUID.
This means that the sub-commands are now id rather than uuid, e.g. show object id
2012-10-24 04:10:22 +01:00
Justin Clark-Casey (justincc) 4578ff74fe Add object count stats for new IncomingPacket and UDPPacketBuffer pools if they are enabled. Add count stats for existing LLUDP pool.
This introduces a pull stat type in addition to the push stat type.
A pull stat takes a method on construction which knows how to update the stat on request.
In this way, special interfaces for pull stat collection are not necessary.
2012-10-23 01:52:10 +01:00
Justin Clark-Casey (justincc) d55f72f3df minor: Rename assetCache constructor param in UUIDGatherer to assetService which is what it is. 2012-10-20 02:35:39 +01:00
UbitUmarov 32171708c3 normalize quaternion.Slerp outputs
Signed-off-by: Melanie <melanie@t-data.com>
2012-10-19 01:37:46 +01:00
Justin Clark-Casey (justincc) 8aa43e72e5 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-10-18 23:32:40 +01:00
Justin Clark-Casey (justincc) a960273e91 Add number of inventory items to information displayed via "show part" console command 2012-10-18 23:02:57 +01:00
Melanie a2c93133be Remove extraneous calls to the now commented CheckSculptAndLoad 2012-10-18 21:23:57 +01:00
UbitUmarov afab5f5cd1 extend coment to include all unused SOG CheckSculptAndLoad() 2012-10-18 21:13:25 +01:00
UbitUmarov 7ab83f9eb2 [DANGER UNTESTED] ODE mesh assets. Other plugins will not do meshs/sculpts
now

Signed-off-by: Melanie <melanie@t-data.com>
2012-10-18 21:13:02 +01:00
Justin Clark-Casey (justincc) d469bde849 minor: Add/correct some doc messages associated with entity teleport.
I believe UseCircuitCode is sent on EnableSimulator EQ message, rather than EstablishAgentCommunication
At least with LL 3.3.4, EstablishAgentCommunication appears unnecessary in the teleport context -
viewer still requests it though possibly only after TeleportFinish().  However, we will continue to send it.
2012-10-16 01:20:41 +01:00
Justin Clark-Casey (justincc) fba59d905c Get rid of accidental scene start left in ScenePresenceAutopilotTests 2012-10-12 03:20:27 +01:00
Justin Clark-Casey (justincc) b9c2a1508e Fix problems with regression tests by allowing invoke of Update() with a finite number of frames even if the scene isn't active. 2012-10-12 03:19:12 +01:00
Justin Clark-Casey (justincc) b5a3c74a5c Add "active true|false" to "debug scene" console command.
This allows the scene update and maintenance loops to be started and stopped for debug purposes.
2012-10-12 02:52:08 +01:00
Justin Clark-Casey (justincc) 528085adef minor: Add method doc to EventManager.OnNewClient, OnClientLogin, ClientClosed, OnRemovePresence that any long-running operations should be launched on a thread separate to the event thread. 2012-10-10 00:48:20 +01:00
Justin Clark-Casey (justincc) e76b01a201 Lock on AgentCircuitData during Scene.AddClient() and RemoveClient() to prevent an inactive connection being left behind if the user closes the viewer whilst the connection is being established.
This should remove the need to run the console command "kick user --force" when these connections are left around.
2012-10-10 00:26:43 +01:00
Justin Clark-Casey (justincc) a3c0e3ed26 minor: elaborate method doc on Scene.NewUserConnection() 2012-10-09 22:19:47 +01:00
Dan Lake d342adaa87 Merge branch 'master' of git://opensimulator.org/git/opensim 2012-10-08 15:25:26 -07:00
Justin Clark-Casey (justincc) 16c9c1dff7 On receiving TaskInventoryAccepted with a destination folder in the binary bucket slot for RLV, notify the viewer about inventory folder updates.
The viewer would not see the folder move without this, either on accept or decline.
This commit also updates the TaskInventoryOffered message to better conform with the data LL uses
Changes are, agentID is prim owner rather than prim id, agent name is now simply object name rather than name with owner detail,
message is just folder name in single quotes, message is not timestamped.
However, folder is not renamed "still #RLV/~<name>".  Long term solution is probably not to do these operations server-side.
Notes will be added to http://opensimulator.org/mantis/view.php?id=6311
2012-10-06 02:34:49 +01:00
Dan Lake 91ca3117cb Add bool to TriggerSceneObjectPartUpdated where full = true indicates a full update. There should be a better way to indicate which properties have changed that is non LLUDP-centric 2012-10-05 17:32:07 -07:00
Dan Lake 6f220a8679 Trigger ObjectAddedToScene when loading objects from oarfile. Already triggers when creating, duplicating or loading from database, incoming attachments, etc 2012-10-05 17:30:27 -07:00
Justin Clark-Casey (justincc) 8cd1dc8d60 minor: Add missing license information from the top of IUserManagement 2012-10-05 02:07:28 +01:00
Justin Clark-Casey (justincc) 03136df1a7 Forgot to actually remove the packetpool set code from scene. 2012-10-05 01:45:49 +01:00
Melanie b977f962fa Allow default animation to be stopped to be replaced with another one.
Fixes Mantis #6327
2012-10-04 15:42:52 +01:00
Justin Clark-Casey (justincc) 3d36a6d55c Add generic PercentageStat.
Not yet used.
2012-10-04 01:27:40 +01:00
Justin Clark-Casey (justincc) e717398f6c Add experimental "slow frames" stat, available in "show stats" and via the monitoring module.
This increments a SlowFrames counter if a frame takes over 120% of maximum time.
This commit also introduces a generic OpenSim.Framework.Monitoring.Stat which is available to any code that wants to register a statistic.
This is more granualar than asking objects to create their own reports.
At some point this will supersede earlier IMonitor and IAlert facilities in MonitoringModule which are only available to scene code.
2012-10-04 00:32:42 +01:00
SignpostMarv 35b7c80e0b implementing osDropAttachment & osDropAttachmentAt 2012-10-02 22:14:46 +01:00
Melanie 402128bb53 Prevent the ExtraSettings code from crashing SQLite driven sims. 2012-10-02 00:51:38 +01:00
Justin Clark-Casey (justincc) 2bf42f30af Add MaxPrimsUndo config setting to [Startup] section of OpenSim.ini.
This controls how many undo steps the simulator will store for each prim.
Default is now 20 rather than 5 as it briefly was.
The default number could be increased through this is a memory tradeoff which will scale with the number of prims in the sim and level of activity.
2012-09-27 00:12:34 +01:00
Justin Clark-Casey (justincc) b9934fc4db Don't store undo states if a scene object is manipulated when it is not in a scene.
Adds regression test for this.
2012-09-26 23:31:10 +01:00
Justin Clark-Casey (justincc) 31c636f1e4 refactor: Change control structures in SOP.StoreUndoState() to reduce nesting. 2012-09-26 23:25:50 +01:00
Justin Clark-Casey (justincc) 36e3123069 Make it possible to rescale SOGs when they are not in a scene. 2012-09-26 23:17:21 +01:00
Justin Clark-Casey (justincc) 327320d1a7 Enforce existing 5 action hardcoded undo limit.
This was present in the code but not enforced, which led to a memory leak over time as part properties were changed, whether by viewer, script or another source.
This commit enforces that limit, which will soon become configurable.
Regression test for undo limit added
Should help with http://opensimulator.org/mantis/view.php?id=6279
2012-09-26 22:49:44 +01:00
Justin Clark-Casey (justincc) 90dd5844d6 Add basic undo/redo regression tests. 2012-09-26 21:28:43 +01:00
SignpostMarv 020103c51e Documenting object-related events 2012-09-24 22:59:02 +01:00
Justin Clark-Casey (justincc) ac02cadbdb Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-09-24 22:52:33 +01:00
SignpostMarv 1cfd63d0b4 Documenting LSL script-related events 2012-09-24 22:44:37 +01:00
Diva Canto ebd99c9e3e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-09-21 17:59:42 -07:00
Diva Canto 21a6ef5bb6 This fixes HG attachments' missing assets (textures, etc).
Also, further improvements on HGUuidGatherer: if the assets are already in this grid don't fetch them again.
2012-09-21 17:58:44 -07:00
Justin Clark-Casey (justincc) b36ef60aca Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-09-22 01:05:33 +01:00
SignpostMarv 8d7b1f8aa0 Documenting non-LSL script-related events 2012-09-22 00:57:29 +01:00