aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix regression where llGiveInventory() had stopped asking non-owner ↵Justin Clark-Casey (justincc)2012-07-171-29/+29
| | | | | | | | | receivers to accept/decline. This appears to be a regression from back in commit db91044 (Mon Aug 22 2011) where we started to send TaskInventoryOffered msg dialog rather than InventoryOffered dialog. This is probably correct, but failed because the bucket was too large and because we wouldn't have handled the TaskInventoryDeclined option anyway. This patch handles both of these and make llGiveInventoryList() use TaskInventoryOffered as well Fixes http://opensimulator.org/mantis/view.php?id=6089
* Revert "refactor: make llGiveInventory() use existing GetInventoryItem() ↵Justin Clark-Casey (justincc)2012-07-171-11/+24
| | | | | | method rather than iterate through TaskInventory itself." This reverts commit 58b13d51a7eddb442e38e6dc6790a9e7cf68bad7.
* Revert "Fix script "Running" behavior"Melanie2012-07-164-37/+0
| | | | | | A better solution using the already present flags must be found. This reverts commit 6d3ee8bb39d47ed7b32e8905fa0b2fc31c5a9f80.
* sending more user-friendly messages to the script error window rather than ↵SignpostMarv2012-07-161-1/+14
| | | | | | the thrown exceptions. Signed-off-by: Melanie <melanie@t-data.com>
* acting on feedback from justinccSignpostMarv2012-07-141-6/+7
|
* acting on feedback from justinccSignpostMarv2012-07-141-39/+42
|
* added in some extra variables, it sometimes thinks it is on the same parcel :(SignpostMarv2012-07-141-5/+7
| | | | Signed-off-by: SignpostMarv <github@signpostmarv.name>
* adding workaround for silent failure if position is outside the bounds of a ↵SignpostMarv2012-07-141-13/+41
| | | | | | region, implementing parcel prim count check. Signed-off-by: SignpostMarv <github@signpostmarv.name>
* Implementation of llSetRegionPos(). Does not implement failure on object ↵SignpostMarv2012-07-143-4/+45
| | | | | | entry/prim limit/access restrictions. Signed-off-by: SignpostMarv <github@signpostmarv.name>
* Rather than instantiating a UTF8 encoding everywhere when we want to supress ↵Justin Clark-Casey (justincc)2012-07-131-1/+1
| | | | | | the BOM, use a single Util.UTF8NoBomEncoding. This class is thread-safe (as evidenced by the provision of the system-wide Encoding.UTF8 which does not suppress BOM on output).
* Remove IClientAPI.GetClientEP() in favour of existing identical ↵Justin Clark-Casey (justincc)2012-07-121-6/+2
| | | | IClientAPI.RemoteEndpoint.
* Where possible, use the system Encoding.ASCII and Encoding.UTF8 rather than ↵Justin Clark-Casey (justincc)2012-07-115-25/+15
| | | | | | | constructing fresh copies. The encodings are thread-safe and already used in such a manner in other places. This isn't done where Byte Order Mark output is suppressed, since Encoding.UTF8 is constructed to output the BOM.
* Allow XEngine StartDelay to be configured in the [XEngine] config section.Justin Clark-Casey (justincc)2012-07-112-2/+10
| | | | | This is only currently meant for use by regression tests that don't have any issues if XEngine is started up quickly, since no other operations will be occuring simultaneously. Therefore, this is not yet documented externally.
* Remove WorldComm module from the regression TestCompileAndStartScript() ↵Justin Clark-Casey (justincc)2012-07-111-4/+1
| | | | since the infrastructure no longer fails if this module isn't present, at least on the tested codepaths
* Add regression TestDetachScriptedAttachmentToInventory()Justin Clark-Casey (justincc)2012-07-113-10/+17
| | | | This currently only does a relatively crude check for a ScriptState node in the serialized xml
* Disable logging in regression test in OSSL_ApiAttachmentTestsJustin Clark-Casey (justincc)2012-07-101-1/+1
|
* If a script is being stopped manually, then give the scriptpool thread 1 ↵Justin Clark-Casey (justincc)2012-07-101-1/+5
| | | | | | | second to finish normally before forcibly aborting. This is to avoid the worst of the problems in mono 2.6, 2.10 where an aborted thread does not always release all its locks. This very short grace period is identical to the existing behaviour when a script is removed from the scene.
* This script allows an object to be attached directly from prim inventory to ↵Justin Clark-Casey (justincc)2012-07-094-5/+96
| | | | | | | another avatar in the scene. Very useful in serious game/environment scenarios where its only allowed for trusted creators. Threat level Severe
* minor: remove some recent mono compiler warningsJustin Clark-Casey (justincc)2012-07-071-1/+1
|
* Remove redundant SetScene() function in Scene.AddSceneObject()Justin Clark-Casey (justincc)2012-07-072-10/+10
| | | | | This is always done later on in SceneGraph.AddSceneObject() if the call hasn't failed due to sanity checks. There's no other purpose for this method to exist and it's dangerous/pointless to call in other conditions.
* Mantis 6063 osNpcTouch.Talun2012-07-063-0/+41
| | | | Allow NPCS to touch obects.
* regrade osFormatString, osMatchString and osReplaceString to VeryLow.Justin Clark-Casey (justincc)2012-07-051-3/+3
| | | | I can't see that these present any real hazard to sim functioning.
* Add OSSL function osForceAttachToAvatarFromInventory()Justin Clark-Casey (justincc)2012-07-057-6/+253
| | | | | | | This works like osForceAttachToAvatar() but allows an object to be directly specified from the script object's inventory rather than forcing it to be rezzed in the scene first. Still only attaches objects to the owner of the script. This allows one to bypass the complicated co-ordination of first rezzing objects in the scene before attaching them. Threat level high.
* Use GetInventoryItem() in llRezAtRoot rather than iterating through a cloned ↵Justin Clark-Casey (justincc)2012-07-041-40/+36
| | | | dictionary
* refactor: In llGetNotecardLine() use existing GetInventoryItem() rather than ↵Justin Clark-Casey (justincc)2012-07-041-10/+4
| | | | inspecting a clone of the TaskInventory dictionary that was not cloned thread-safe
* refactor: In llGetNumberOfNotecardLines() use existing GetInventoryItem() ↵Justin Clark-Casey (justincc)2012-07-041-10/+4
| | | | rather than inspecting a clone of the TaskInventory dictionary that was not cloned thread-safe
* refactor: use existing GetInventoryItem() in GetScriptByName(), itself ↵Justin Clark-Casey (justincc)2012-07-041-13/+9
| | | | renamed from ScriptByName()
* refactor: In llGetInventoryType() use existing GetInventoryItem()Justin Clark-Casey (justincc)2012-07-041-11/+5
|
* refactor: In llGetInventoryCreator() use existing GetInventoryItem()Justin Clark-Casey (justincc)2012-07-041-12/+8
|
* refactor: In llGetInventoryPermMask() use existing GetInventoryItem()Justin Clark-Casey (justincc)2012-07-041-24/+21
|
* refactor: in llGetInventoryPermMask use existing GetInventoryItem()Justin Clark-Casey (justincc)2012-07-041-23/+19
|
* refactor: In llRemoteLoadScriptPin() use existing GetInventoryItem()Justin Clark-Casey (justincc)2012-07-041-20/+5
|
* refactor: replace use of LSL_Api.GetTaskInventoryItem() with existing ↵Justin Clark-Casey (justincc)2012-07-041-22/+11
| | | | GetInventoryItem()
* refactor: In llGetInventoryKey() use existing GetInventoryItem()Justin Clark-Casey (justincc)2012-07-041-15/+9
|
* In llMessageLinked() use GetInventoryItems() rather than cloning ↵Justin Clark-Casey (justincc)2012-07-041-4/+2
| | | | | | TaskInventory directory GetInventoryItems() returns a new list and so is equivalent, and creates this list under lock whereas Clone() is not thread-safe
* In llRequestInventoryData() use GetInventoryItems() rather than cloning ↵Justin Clark-Casey (justincc)2012-07-041-3/+2
| | | | | | TaskInventory directory GetInventoryItems() returns a new list and so is equivalent, and creates this list under lock whereas Clone() is not thread-safe
* refactor: In llCollisionSound() use existing GetInventoryItem() method ↵Justin Clark-Casey (justincc)2012-07-041-11/+5
| | | | rather than have it iterate through TaskInventory itself.
* refactor: In llRemoveInventory() use existing GetInventoryItem() method ↵Justin Clark-Casey (justincc)2012-07-041-14/+9
| | | | rather than have it iterate through TaskInventory itself.
* refactor: make llGiveInventory() use existing GetInventoryItem() method ↵Justin Clark-Casey (justincc)2012-07-041-24/+11
| | | | rather than iterate through TaskInventory itself.
* Add preservation of running state of scripts when drag-copying.Melanie2012-07-011-0/+12
|
* Change AttachmentsModule.DetachSingleAttachmentToInv() to accept a SOG ↵Justin Clark-Casey (justincc)2012-06-281-9/+6
| | | | | | | directly instead of an item ID to then shuffle through attachments, saving CPU busywork. Almost all callers already had the sog to hand. Still checking that it's really an attachment, but now by inspecting SOG.AttachedAvatar
* If rest of first line after colon is blank then still warn about running in ↵Justin Clark-Casey (justincc)2012-06-281-11/+18
| | | | | | | XEngine if engine specified does not exist. This is to take account of situations where the user was intending to specify a script engine using colon using its default language. This probably generates few false positive as scripts are less likely to end a first line colon with a comment for other purposes.
* Avoid reporting false positives when a colon is in a comment in the first ↵Justin Clark-Casey (justincc)2012-06-281-17/+41
| | | | | | | | | line of a script where the user was not trying to select a different script engine. This works by only posting the "Selected engine unavailable" message if we're falling back on XEngine and the language is one handled by XEngine. In cases where the language is not handled or not allowed, the user will still be notified by the later compiler error. This avoids the overwhelming majority of false positives where the first line contains a : for other reasons (e.g. source control systems, vim settings, etc.) Ultimately, I think it would be better to detect script language/engine with a mechanism that didn't just rely on : detection (e.g like #! in unix scripts).
* minor: reuse colon index calculation in XEngine.OnRezScript. The index if a ↵Justin Clark-Casey (justincc)2012-06-281-2/+2
| | | | colon is found on the first line will always be the same as for the whole script.
* Add stub for llCastRayBlueWall2012-06-261-0/+5
|
* Fix script "Running" behaviorBlueWall2012-06-234-0/+37
| | | | Unchecking "Running" box in script editor now persists. This fixes http://opensimulator.org/mantis/view.php?id=6057
* Avoid race condition between m_PrimObjects iteration in ↵Justin Clark-Casey (justincc)2012-06-221-14/+14
| | | | XEngine.PostObjectEvent and places where the list is modified by extending the m_PrimObjects lock.
* If starting scripts on initial sim start, provide INFO level log feedback ↵Justin Clark-Casey (justincc)2012-06-221-6/+10
| | | | | | | each time 50 scripts have been started. This is to provide an indication of what's happening now that the default isn't to report every single script start. Changes XEngine logging level in OpenSim.exe.config from WARN to INFO.
* Eliminate unnecessary extra call to TriggerEmptyScriptCompileQueue in ↵Justin Clark-Casey (justincc)2012-06-221-9/+2
| | | | | | XEngine.DoOnRezScriptQueue() The later invocation of this function will happen on an empty compile queue.
* Add item id, name, prim name and id to log message when state exists but ↵Justin Clark-Casey (justincc)2012-06-211-5/+5
| | | | | | loading fails. Drop logging about memory limit exceeded to warn from error