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
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
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
22693304fb
removing superfluous lines from SceneObjectPart.SendSound
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
1c618843b8
formatting changes to SceneObjectPart.SendSound; consistent indentation
2012-10-29 23:38:58 +00:00