aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine (follow)
Commit message (Collapse)AuthorAgeFilesLines
* refactor: Replace calls to InventorySelf() with existing m_itemID in LSL_ApiJustin Clark-Casey (justincc)2012-04-231-94/+42
| | | | There's no point look up an item ID that we already have.
* Fix a logic error in app domain creationMelanie2012-04-181-1/+1
|
* Don't re-add the assembly resolver for each script if not creating the appdomainMelanie2012-04-181-4/+8
|
* refactor: Rename EstateSettings.IsEstateManager() to ↵Justin Clark-Casey (justincc)2012-04-173-5/+5
| | | | | | | EstateSettings.IsEstateManagerOrOwner() to reflect what it actually does. This makes it consistent with other parts of OpenSimulator that are treating ESTATE_MANAGER and ESTATE_OWNER as different entities. As per opensim-dev mailing list.
* Null reference in llGetObjectMass on a seated avatar.Talun2012-04-171-1/+1
|
* Correct whitespace error introduced by previous commitMelanie2012-04-141-1/+1
|
* Missing or unimplemented LSL memory functions.Talun2012-04-134-13/+62
| | | | | | Implemented to behave as if scripts were LSO. Signed-off-by: nebadon <michael@osgrid.org>
* Change threat level of osNpcStopMoveToTarget from Low to High to match other ↵Justin Clark-Casey (justincc)2012-04-131-1/+1
| | | | | | NPC functions, and change OSSL permissions name to osNpcStopMoveToTarget instead of osNpcStopMoveTo Thanks to Oren Hurvitz for pointing out these mistakes.
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2012-04-135-38/+119
|\
| * Mantis 55025 Implement script time.Talun2012-04-122-38/+51
| | | | | | | | Signed-off-by: nebadon <michael@osgrid.org>
| * New OS scripting functions osSetTerrainTexture and osSetTerrainHeight as ↵Snoopy Pfeffer2012-04-103-0/+68
| | | | | | | | originally proposed in SL Jira (https://jira.secondlife.com/browse/SVC-244).
* | Remove hardcoded god requirement from osSetRegionWaterHeight, ↵Justin Clark-Casey (justincc)2012-04-131-36/+25
|/ | | | | | | | osSetRegionSunSettings and, osSetEstateSunSettings no matter the threat level. Change threat level on osSetRegionSunSettings and osSetEstateSunSettings from nuisance to high to match similar functions. If you had enabled these functions but had relied on the hardcoded god check in the code, then please adjust your OSSL permissions config. Thanks to Oren Hurvitz for pointing this out.
* Mantis5502 implementation of some of the new constantsTalun2012-04-091-18/+24
| | | | Signed-off-by: Melanie <melanie@t-data.com>
* Store FromItemID for attachments once on SOG instead of on every SOP and ↵Justin Clark-Casey (justincc)2012-04-071-1/+1
| | | | | | only ever using the root part entry. This eliminates some pointless memory use.
* Implement PRIM_POS_LOCAL on llSetPrimitiveParams() and other prim params LSL ↵Justin Clark-Casey (justincc)2012-04-061-0/+1
| | | | | | functions. This is the same as PRIM_POSITION
* refactor: Use clearer part.ParentGroup.IsAttachment in LSL_Api.GetPartLocalPos()Justin Clark-Casey (justincc)2012-04-061-4/+4
|
* Fix llGetLinkPrimParams for PRIM_POS_LOCAL for child prims whether in scene ↵Justin Clark-Casey (justincc)2012-04-061-10/+11
| | | | | | | | or attachments. Return relative position to root prim rather than 0,0,0. Should fix same issue with llGetLocalPos() http://opensimulator.org/mantis/view.php?id=5951
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2012-04-062-0/+82
|\
| * Addition of missing constants for llGetObjectDetails including for Mantis 5502Talun2012-04-062-0/+82
| | | | | | | | Signed-off-by: nebadon <michael@osgrid.org>
* | For llGetMass(), return the mass of the avatar is the object is attached.Justin Clark-Casey (justincc)2012-04-061-3/+24
|/ | | | | As per http://lslwiki.net/lslwiki/wakka.php?wakka=llGetMass This is the mass as used by the physics engine (ODE or Bullet).
* Make llGetMass() return total mass of object when called on root prim.Justin Clark-Casey (justincc)2012-04-061-1/+4
| | | | | As per http://lslwiki.net/lslwiki/wakka.php?wakka=llGetMass Aims to resolve http://opensimulator.org/mantis/view.php?id=5954
* Fix more SOP.PhysActor race conditions in LSL_ApiJustin Clark-Casey (justincc)2012-04-031-7/+19
|
* Rename SOG.HasChildPrim(uint) to SOG.ContainsPart(uint) to match existing ↵Justin Clark-Casey (justincc)2012-03-311-3/+3
| | | | | | ContainsPart method and remove method duplication. HasChildPrim is also misleading since the 'root' prim can also be returned.
* Two new scripting functions osInviteToGroup(userID) and ↵Snoopy Pfeffer2012-03-273-0/+82
| | | | osEjectFromGroup(userID) that invite/eject users to/from groups the object containing the script is set to. These functions also work for closed groups.
* User level based restrictions for HyperGrid teleports, asset uploads, group ↵Snoopy Pfeffer2012-03-271-0/+3
| | | | creations and getting contacted from other grids. Incoming HyperGrid teleports can also be restricted to local users.
* Add a hust UUID to the script invocationsMelanie2012-03-263-1/+16
|
* Add support for key, vector, rotation and list types for bothMic Bowman2012-03-243-74/+229
| | | | | | arguments and return values to the modInvoke family of functions. See http://opensimulator.org/wiki/OSSL_Script_Library/ModInvoke
* fix yield prolog so it compiles with mono 2.11 there has been a bugzillanebadon2012-03-232-6/+6
| | | | | | report files with mono project in regards to this change, this simply lets us move forward with using mono 2.11 for now : https://bugzilla.xamarin.com/show_bug.cgi?id=4052
* Fix llGiveInventory() so that it checks the destination part for ↵Justin Clark-Casey (justincc)2012-03-221-1/+58
| | | | | | | AllowInventoryDrop, not the source. This allows llAllowInventoryDrop() to work. Regression test added for this case.
* Add llGiveInventory() test from object to object where both objects are ↵Justin Clark-Casey (justincc)2012-03-221-0/+111
| | | | owned by the same user.
* refactor: Rename AvatarAnimations -> DefaultAvatarAnimations for code ↵Justin Clark-Casey (justincc)2012-03-221-3/+3
| | | | clarity since non-default animations are handled completely separately from this class
* Instead of loading default avatar animations in both SLUtil and ↵Justin Clark-Casey (justincc)2012-03-211-3/+3
| | | | | | | | AvatarAnimations, load just in AvatarAnimations instead. This lets us remove the dependency of OpenSim.Framework.dll on data/avataranimations.xml, which is not necessary for ROBUST. This commit also takes care of the odd situation where animations are stored and used internally with uppercase names (e.g. "STAND") but scripts refer to them with lowercase names (e.g. "sit").
* Stop console command "xengine status" throwing an exception if there are no ↵Justin Clark-Casey (justincc)2012-03-191-4/+4
| | | | | | scripts in a region. Addresses http://opensimulator.org/mantis/view.php?id=5940
* Add osGetInventoryDesc() as per http://opensimulator.org/mantis/view.php?id=5927Justin Clark-Casey (justincc)2012-03-173-0/+30
| | | | | This allows one to get description data for a given prim inventory item. Thanks MarcelEdward and GuduleLapointe!
* refactor: separate out console and status report generation parts of XEngineJustin Clark-Casey (justincc)2012-03-161-1/+6
|
* Aggregate script execution times by linksets rather than individual prims.Justin Clark-Casey (justincc)2012-03-163-3/+19
| | | | This is for the top scripts report.
* Replace script-lines-per-second with the script execution time scaled by its ↵Justin Clark-Casey (justincc)2012-03-163-1/+88
| | | | | | | | | | | measurement period and an idealised frame time. The previous lines-per-second measurement used for top scripts report was inaccurate, since lines executed does not reflect time taken to execute. Also, every fetch of the report would reset all the numbers limiting its usefulness and we weren't even guaranteed to see the top 100. The actual measurement value should be script execution time per frame but XEngine does not work this way. Therefore, we use actual script execution time scaled by the measurement period and an idealised frame time. This is still not ideal but gives reasonable results and allows scripts to be compared. This commit moves script execution time calculations from SceneGraph into IScriptModule implementations.
* Protect the scriptmodulecomms interface.Mic Bowman2012-03-151-1/+4
|
* Adds a new script command 'modInvoke' to invoke registered functionsMic Bowman2012-03-155-3/+163
| | | | | | | | | from region modules. The LSL translator is extended to generate the modInvoke format of commands for directly inlined function calls. A region module can register a function Test() with the name "Test". LSL code can call that function as "Test()". The compiler will translate that invocation into modInvoke("Test", ...)
* Remove property/field duplication in ScriptInstance where it's unnecessary.Justin Clark-Casey (justincc)2012-03-152-170/+115
|
* Simplify some logic in the ScriptInstance constructor - running is set to ↵Justin Clark-Casey (justincc)2012-03-151-9/+3
| | | | false in both if/else branches
* minor: correct indentation levelsJustin Clark-Casey (justincc)2012-03-151-13/+12
|
* Remove duplication of m_RunEvents and RunningJustin Clark-Casey (justincc)2012-03-151-17/+11
|
* Fix a problem where multiple near simultaneous calls to llDie() from ↵Justin Clark-Casey (justincc)2012-03-151-10/+9
| | | | | | | | | | multiple scripts in the same linkset can cause unnecessary thread aborts. The first llDie() could lock Scene.m_deleting_scene_object. The second llDie() would then wait at this lock. The first llDie() would go on to remove the second script but always abort it since the second script's WorkItem would not go away. Easiest solution here is to remove the m_deleting_scene_object since it's no longer justified - we no longer lock m_parts but take a copy instead. This also requires an adjustment in XEngine.OnRemoveScript not to use instance.ObjectID instead when firing the OnObjectRemoved event.
* Alleviate an issue where calling Thread.Abort() on script WorkItems can fail ↵Justin Clark-Casey (justincc)2012-03-152-4/+15
| | | | | | | | | | to release locks, resulting in a crippled simulator. This seems to be a particular problem with ReaderWriterLockSlim, though other locks can be affected as well. It has been seen to happen when llDie() is called in a linkset running more than one script. Alleviation here means supplying a ScriptInstance.Stop() timeout of 1000ms rather than 0ms, to give events a chance to complete. Also, we check the IsRunning status at the top of the ScriptInstance.EventProcessor() so that another event doesn't start in the mean time. Ultimately, a better solution may have to be found since a long-running event would still exceed the timeout and be aborted.
* refactor: rename ScriptInstance.m_CurrentResult to m_CurrentWorkItem to make ↵Justin Clark-Casey (justincc)2012-03-143-25/+50
| | | | | | it more understandable as to what it is and what it does (hold a thread pool work item for a waiting of in-progress event) Also add other various illustrative comments
* Add max thread and min thread information to "xengine status" region console ↵Justin Clark-Casey (justincc)2012-03-122-0/+5
| | | | command
* Added osGetGridGatekeeperURI()Diva Canto2012-03-103-0/+20
|
* Use SP.ParentPart instead of ParentID in places where it's more efficient ↵Justin Clark-Casey (justincc)2012-03-091-17/+7
| | | | | | | (saving extra null checks, etc.) However, it looks like we should retain SP.ParentID since it's much easier to use that in places where another thread could change ParentPart to null. Otherwise one has to clumsily put ParentPart in a reference, etc. to avoid a race.
* FireAndForget scripted rez - port from AvinationMelanie2012-03-091-41/+46
|