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
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
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
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
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