aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Have SOP and LSL_Api call the proper GetCenterOfMass and GetGeometricCenterRobert Adams2013-01-211-0/+10
| | | | | routines on the physics engine. Won't make a difference for any existing scripts since ODE always returned Vector3.Zero.
* Check the existing ScenePresence.ParentPart to make sure we're not trying to ↵Justin Clark-Casey (justincc)2013-01-191-2/+1
| | | | | | | 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.
* Add "debug set set animations true|false" region console command.Justin Clark-Casey (justincc)2013-01-182-5/+33
| | | | | Setting this logs extra information about animation add/remove, such as uuid and animation name Unfortunately cannot be done per client yet
* Restore previous client AO behaviour by not allowing them to remove the ↵Justin Clark-Casey (justincc)2013-01-183-6/+25
| | | | | | | | | 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.
* Implement co-operative script termination if termination comes during a ↵Justin Clark-Casey (justincc)2013-01-161-3/+23
| | | | | | | | | | 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.
* Revert "Implement co-operative script termination if termination comes ↵Justin Clark-Casey (justincc)2013-01-161-23/+3
| | | | | | | | 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 1b5c41c14ad11325be249ea1cce3c65d4d6a89be.
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2013-01-161-0/+4
|\
| * move resit fix to ScenePresence.cs and allow for requesting sit on objects ↵dahlia2013-01-141-0/+4
| | | | | | | | other than the object currently sat on
* | Implement co-operative script termination if termination comes during a ↵Justin Clark-Casey (justincc)2013-01-161-3/+23
|/ | | | | | | | | 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.
* Fix exception reporting in SceneObjectPart so it logs what the exception is ↵Robert Adams2013-01-111-2/+2
| | | | rather than just saying it happened.
* Save attachments on detach/exit if a contained script state has been changed.Justin Clark-Casey (justincc)2013-01-111-0/+3
| | | | | | | 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.
* Move scene debug commands into separate module. Command changes from "debug ↵Justin Clark-Casey (justincc)2013-01-101-94/+59
| | | | scene <key> <value>" to "debug scene set <key> <value>" to accomodate future settings
* refactor: route the final scene backup through the same code that handles ↵Justin Clark-Casey (justincc)2013-01-101-10/+1
| | | | | | periodic backup This is rather than making unnecessary duplicate checks that the SOG later performs again.
* Add "debug scene pbackup true|false" console command. This enables or ↵Justin Clark-Casey (justincc)2013-01-101-9/+30
| | | | | | disable periodic scene backup. For debug purposes. If false, scene is still saved on shutdown.
* Revert "Prevent empty Anim Packs"Melanie2013-01-091-12/+0
| | | | This reverts commit 5561333668f61f043cdfc0733a4eb50a1bcfb14e.
* Revert "Fix sequence id fr default anim"Melanie2013-01-091-1/+1
| | | | This reverts commit a775931a0cec9f65748c6e20dd2695edcbe21b7f.
* Fix sequence id fr default animMelanie2013-01-081-1/+1
|
* Prevent empty Anim PacksMelanie2013-01-081-0/+12
|
* Fix llGetLinkKey() to return the last sat avatar as the last link number.Justin Clark-Casey (justincc)2013-01-042-46/+68
| | | | | | | | 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
* Fixed several problems with the Sun: some settings didn't work, or were ↵Oren Hurvitz2013-01-022-35/+6
| | | | 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)
* ScenePresence passes the avatar rotation down to the physics engine. This ↵Robert Adams2012-12-281-0/+4
| | | | will be a no-op for ODE but enables asymmetrical avatars for BulletSim.
* Add check to always push terse updates for presences that have new ↵Robert Adams2012-12-271-3/+8
| | | | velocities of zero.
* Replace axis rotation numeric constants (STATUS_ROTATE_XYZ) with symbols. ↵Robert Adams2012-12-182-6/+15
| | | | Also made it so llSetStatus() can individually enable disable rotation axi using the bitmask of flags.
* BulletSim: experimentally remove unit displacement from prim border crossing ↵Robert Adams2012-12-161-2/+13
| | | | 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.
* minor: If the physics module tells us that an object has gone out of bounds, ↵Justin Clark-Casey (justincc)2012-12-151-2/+5
| | | | more helpfully log the name, id, position and region of that object.
* minor: Add commented out log lines to ScenePresenceAnimator for future debug ↵Justin Clark-Casey (justincc)2012-12-141-1/+10
| | | | use (such as logging anim pack contents sent to clients)
* Fix issue where calling llVolumeDetect(FALSE) would not remove phantom flag, ↵Justin Clark-Casey (justincc)2012-12-142-2/+42
| | | | | | | causing subsequent issues if physics was re-enabled. Added regression tests Addresses http://opensimulator.org/mantis/view.php?id=6365
* Simplify sit code a bit by determining correct animation in HandleSit ↵Dan Lake2012-12-131-30/+6
| | | | instead of HandleSitRequest. This eliminates m_nextSitAnimation, an unneeded state-saving variable in ScenePresence
* Switched the order by which foreign inventory and foreign assets are brought ↵Diva Canto2012-12-091-6/+4
| | | | in, to avoid race conditions on the client.
* UserManagementModule: search the local cache for names too.Diva Canto2012-12-091-1/+1
| | | | Inventory transfers: don't do async on asset transfers or now.
* Use a thread abort safe version of OpenMetaverse.DoubleDictionary with the ↵Justin Clark-Casey (justincc)2012-12-071-1/+3
| | | | | | | | | | 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.
* minor: Put Scene.PhysicsRequestAsset() into standard C# xml format.Justin Clark-Casey (justincc)2012-12-041-4/+11
|
* Combine TestDeleteSceneObjectAsync() with TestDeRezSceneObject() as they are ↵Justin Clark-Casey (justincc)2012-11-243-106/+83
| | | | | | functionally identical. Move TestDeleteSceneObjectAsync() and TestDeleteSceneObjectAsyncToUserInventory() from SceneObjectBasicTests -> SceneObjectDeRezTests
* Fix regression TestDeleteSceneObjectAsyncToUserInventory by adding a ↵Justin Clark-Casey (justincc)2012-11-241-7/+12
| | | | BasicInventoryAccessModule() and re-enable in test suite.
* Consistenly make NUnit test cases inherit from OpenSimTestCase which ↵Justin Clark-Casey (justincc)2012-11-2417-17/+17
| | | | automatically turns off any logging enabled between tests
* minor: Make note in log if scene was restarted due to an unrecoverable ↵Justin Clark-Casey (justincc)2012-11-231-1/+6
| | | | physics error
* Fix problem where restarting the currently selected region would stop ↵Justin Clark-Casey (justincc)2012-11-232-31/+25
| | | | | | 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.
* Add regression test for checking scene close when SceneManager is asked to closeJustin Clark-Casey (justincc)2012-11-231-0/+58
|
* Fix regression where we stopped closing scenes on simulator exit.Justin Clark-Casey (justincc)2012-11-231-0/+7
| | | | | 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)
* Minor formatting for 0962a35d and a few one-line comments as to why that ↵Justin Clark-Casey (justincc)2012-11-201-8/+7
| | | | code is there
* Fix movetotarget on mega regions.Iain Oliver2012-11-201-3/+21
|
* Stop closing old style modulesMelanie2012-11-121-9/+0
|
* Remove the old style module loader and all references to itMelanie2012-11-123-88/+12
|
* Uncomment SceneObjectBasicTests.TestDeleteSceneObjectAsyncToUserInventory() ↵Justin Clark-Casey (justincc)2012-11-102-35/+70
| | | | | | | and make it compile again Not currently in test suite since not yet working. Also add method doc to Scene.DeRezObjects()
* Change to earlier commit for TargetVelocity to support distributed physics.Dan Lake2012-11-021-3/+3
|
* Add TargetVelocity to PhysicsActor interface to support distributed physics. ↵Dan Lake2012-10-311-1/+1
| | | | No change to existing functions.
* Make "show object part" command correctly display script status.Justin Clark-Casey (justincc)2012-10-311-17/+35
| | | | | Uses new IEntityInventory.TryGetScriptInstanceRunning() Makes it clearer that TaskInventoryItem.ScriptRunning cannot be used as it is temporary and not updated.
* Merge branch 'master' of melanie@opensimulator.org:/var/git/opensimMelanie2012-10-301-5/+9
|\
| * Only create a new list to check if objects have reached targets if there ↵Justin Clark-Casey (justincc)2012-10-301-5/+9
| | | | | | | | actually are any targets.
* | Store and send the current movement animation state to a new sim on crossingMelanie2012-10-302-0/+17
|/