aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Automatically grant sit-related llRequestPermissions() for subsequent ↵Justin Clark-Casey (justincc)2013-01-041-15/+1
| | | | | | avatars sitting on the same scene obejct, instead of wrongly popping up request permissions dialog. Resolves http://opensimulator.org/mantis/view.php?id=6478
* refactor: simplify llGetNumberOfPrims() to return prim count + sitting ↵Justin Clark-Casey (justincc)2013-01-041-7/+1
| | | | avatar count rather than independently inspecting every scene presence
* Fix llGetLinkName() to return the name of the last avatar sat as the last ↵Justin Clark-Casey (justincc)2013-01-041-41/+35
| | | | | | link number. As per http://wiki.secondlife.com/wiki/LlGetLinkName
* Fix llGetLinkKey() to return the last sat avatar as the last link number.Justin Clark-Casey (justincc)2013-01-041-17/+31
| | | | | | | | 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
* Scipt modules get the OpenMetaverse types, so lists passed as arguments to ↵SignpostMarv2013-01-031-2/+27
| | | | script module functions which then later call LSL_Types.list.GetVector3Item() or LSL_Types.list.GetQuaternionItem() methods would then trigger an InvalidCastException, which is now avoided.
* Improving documentation of AttachToAvatar and GetLine methods in LSL_Api.cs ↵SignpostMarv2013-01-031-8/+15
| | | | based on doxygen error output
* Fixed several problems with the Sun: some settings didn't work, or were ↵Oren Hurvitz2013-01-021-6/+4
| | | | 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)
* If an NPC is unowned, then always auto-grant permissions requested via ↵Justin Clark-Casey (justincc)2013-01-021-1/+1
| | | | | | | llRequestPermissions() This is consistent with all other OSSL NPC functions that allow unowned avatars to be manipulated. Aims to address http://opensimulator.org/mantis/view.php?id=6483
* minor: Assign names to the different SmartThreadPools for debugging purposes.Justin Clark-Casey (justincc)2013-01-011-0/+1
| | | | | A different approach to the patch in http://opensimulator.org/mantis/view.php?id=6462 that doesn't involve further forking of SmartThreadPool
* Resolve Mantis 6480 (http://opensimulator.org/mantis/view.php?id=6480)Robert Adams2012-12-311-2/+11
| | | | | | | | by reversing the sign on the recoil computation and adding a [XEngine]RecoilScaleFactor parameter which defaults to zero. Testing in SL seems to show that there is not a recoil action there. Or, at least, it is very small. If someone knows how small, the default for the scale factor should be changed.
* Replace axis rotation numeric constants (STATUS_ROTATE_XYZ) with symbols. ↵Robert Adams2012-12-181-3/+4
| | | | Also made it so llSetStatus() can individually enable disable rotation axi using the bitmask of flags.
* Extend default 1 second wait for event completion to other thread script ↵Justin Clark-Casey (justincc)2012-12-173-4/+33
| | | | | | | | reset (as called by llResetOtherScript()). As with script stop (via llDie()) aborting other scripts event threads, llResetOtherScript() can also abort any current event thread on another script. On mono 2.6, 2.10 and possibly later this may cause locking problems in certain code areas. This commit reuses the recently introduced [XEngine] WaitForEventCompletionOnScriptStop to make this a 1 sec timeout, rather than 0 secs.
* Add WaitForEventCompletionOnScriptStop [XEngine] config param to ↵Justin Clark-Casey (justincc)2012-12-131-10/+24
| | | | | | | OpenSimDefaults.ini to allow change of the wait time for an event to complete on script removal before aborting its thread Default is 1000, as has previously been the case. This parameter exists for further debug work concerning mono 2.10 crashes that may be related to locks not being removed on Thread.Abort
* Log situations where workitem event threads are aborted on stop request ↵Justin Clark-Casey (justincc)2012-12-121-3/+3
| | | | | | because they failed to complete event processing within the given timeout. This is for bug hunting purposes where thread aborts may be causing dangling lock issues and subsequent vm crashes on mono (with ReaderWriterLockSlim, etc.)
* Add "debug script log" command to allow setting a numeric debug level on ↵Justin Clark-Casey (justincc)2012-12-123-13/+89
| | | | | | | individual IScriptInstances for debugging purposes. Current, state changes and event fires can be logged for individual scripts. See command help for more details.
* Add asset id to "show script" and "show scripts" command output to make it ↵Justin Clark-Casey (justincc)2012-12-121-0/+1
| | | | easier to extract and inspect the script's asset via "dump asset"
* Instead of printing script errors out to console, put to debug log so that ↵Justin Clark-Casey (justincc)2012-12-061-1/+11
| | | | | | | | we also get timestamps. This commit also adds script name, part name, uuid, etc. for later identification. This information has been sent to console since 2009 but may be turned down if it proves too noisy. However, I still currently need it to investigate some region problems probably triggered by scripting.
* Add engine-wide events queued and events processed numbers to output of ↵Justin Clark-Casey (justincc)2012-12-051-1/+14
| | | | "xengine status" console command. For debugging purposes.
* Remove some mono warnings in script tests, chiefly where SetUp() wasn't ↵Justin Clark-Casey (justincc)2012-12-055-7/+13
| | | | properly calling to OpenSimTestCase.SetUp()
* Add IScriptInstance.EventsQueued to match EventsProcessed instead of asking ↵Justin Clark-Casey (justincc)2012-12-053-4/+15
| | | | callers to lock and directly inspect the EventQueue
* For now, sort "show scripts" output in descending order sorted by events ↵Justin Clark-Casey (justincc)2012-12-051-3/+21
| | | | | | processed. For debug purposes - should later add options to allow different sorting or show only highest 10, etc.
* Add IScriptInstance.EventsProcessed stat so that we can record this ↵Justin Clark-Casey (justincc)2012-12-053-0/+10
| | | | information and display in "show scripts" for debug purposes
* In XEngine.DoOnRezScript() use Culture.SetCurrentCulture() instead of ↵Justin Clark-Casey (justincc)2012-12-051-2/+1
| | | | constructing a new CultureInfo separately
* On XEngine.ProcessEventHandler(), instead of creating a new CultureInfo on ↵Justin Clark-Casey (justincc)2012-12-051-2/+1
| | | | | | | every call use the single one set by Culture.SetCurrentCulture() This is slightly different in that SetCurrentCulture() does not use overridden settings if the system culture matches en-US but some settings there have been changed. This is what we want - we do not want to use any system overriden settings.
* XmlRpcGridRouterBlueWall2012-12-031-0/+7
| | | | | | | | | 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.
* Consistenly make NUnit test cases inherit from OpenSimTestCase which ↵Justin Clark-Casey (justincc)2012-11-2412-12/+12
| | | | automatically turns off any logging enabled between tests
* Added AssemblyInfos to every dll in the OpenSim.Region namespace.Diva Canto2012-11-147-0/+231
|
* llSetLinkCamera implementationPixelTomsen2012-11-093-0/+36
| | | | | | wiki: http://wiki.secondlife.com/wiki/LlSetLinkCamera mantis: http://opensimulator.org/mantis/view.php?id=6397
* Change user message on TeskInventoryAccepted to let the viewer format itMelanie2012-11-051-5/+5
| | | | properly
* Also add the additional ScriptException constructor necessary to get ↵Justin Clark-Casey (justincc)2012-10-311-0/+3
| | | | [Serializable] to work.
* Mark ScriptException as [Serializable] for when it has to cross AppDomainsJustin Clark-Casey (justincc)2012-10-311-0/+1
|
* Make "show object part" command correctly display script status.Justin Clark-Casey (justincc)2012-10-311-2/+8
| | | | | Uses new IEntityInventory.TryGetScriptInstanceRunning() Makes it clearer that TaskInventoryItem.ScriptRunning cannot be used as it is temporary and not updated.
* refactoring llCollisionSound to use new KeyOrName methodSignpostMarv2012-10-291-10/+1
|
* Refactoring llTriggerSoundLimited with a new method on ISoundModule, as the ↵SignpostMarv2012-10-291-6/+3
| | | | LL Wiki spec for llTriggerSoundLimited states an axis-aligned bounding box, not radial constraint
* refactoring llTriggerSoundLimited to not use the LSL methods, since that ↵SignpostMarv2012-10-291-2/+2
| | | | will cause unnecessary calls to m_host.AddScriptLPS(1)
* refactoring llGetPos() to take advantage of implicit converterSignpostMarv2012-10-291-2/+1
|
* shifting from two instances of typecasting to one instance of typecasting in ↵SignpostMarv2012-10-291-4/+4
| | | | llTriggerSoundLimited
* 80-character width terminal formatting of recent commits to llPlaySound, ↵SignpostMarv2012-10-291-7/+15
| | | | llPlaySoundSlave, llTriggerSound and llTriggerSoundLimited
* shuffling code around so that the interface for ISoundModule.SendSound() ↵SignpostMarv2012-10-291-4/+40
| | | | specifies a UUID rather than a string
* moving SendSound from SceneObjectPart to ISoundModuleSignpostMarv2012-10-291-5/+17
|
* deduplicating code into a single LoopSound methodSignpostMarv2012-10-291-21/+7
|
* adjusting parameter order of PreloadSound to be more logicalSignpostMarv2012-10-291-1/+1
|
* transposing LoopSoundMaster to Sound ModuleSignpostMarv2012-10-291-25/+3
|
* transposing preload sound onto sound moduleSignpostMarv2012-10-291-1/+2
|
* transposing stop sound into sound moduleSignpostMarv2012-10-291-37/+5
|
* moving comment for llStopSound inside the method block prior to ↵SignpostMarv2012-10-291-1/+1
| | | | transposition to sound module
* Immediately setting gain to zero as a workaround for code not stopping sound ↵SignpostMarv2012-10-291-0/+1
| | | | started by llPlaySound
* Separate LSL's notion of the default anim from the actually playing anims.Melanie2012-10-261-3/+3
|
* adding ability for listeners to be filtered by regular expressions and a ↵SignpostMarv2012-10-264-0/+107
| | | | general-purpose function to see if a given string matches a given regex
* Formatting and casing correction in WorldCommModule, trailing new line in ↵SignpostMarv2012-10-261-1/+1
| | | | OSSL to get git diff to not complain