aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Use thread-safe version of .NET Random as the SDK class is not thread-safe.Justin Clark-Casey (justincc)2014-08-021-4/+2
| | | | | | | | As per http://msdn.microsoft.com/en-us/library/system.random%28v=vs.100%29.aspx, the .NET Random class is not thread-safe. If called by multiple threads at once, methods may return 0. Except for llRand(), other OpenSimulator code did not lock before calling a shared Random instance. This commit adds a ThreadSafeRandom class that extends Random but does internal locking so that it is thread-safe. This change is invisible to existing callers and the explicit locking in the llFrand() implementation is now redundant.
* If a script calls llSetCameraAtOffset() or llSetCameraEyeOffset() on a child ↵Justin Clark-Casey (justincc)2014-05-221-0/+6
| | | | | | prim and the root prim has no corresponding value set, then also set the root prim. This matches behaviour just tested on the Linden Lab grid.
* Change llUnSit to be able to unsit any avatar that is currently sat on the ↵Vegaslon2014-05-061-1/+2
| | | | object, not just avatars sitting on the sittarget in the object containing the script. or when the object is owned by the parcel, land group or estate owner.
* Mantis 7146 The lsl function llGetMassMKS is not implementedTalun2014-05-061-0/+7
| | | | | This patch implements llGetMassMKS as it is described in the wiki http://wiki.secondlife.com/wiki/LlGetMassMKS
* Show more meaningful error messages when failed to move an item from a prim ↵Oren Hurvitz2014-05-061-1/+5
| | | | | | to a user's inventory. Also, actually show the error to the user in more cases. (Previously, sometimes the operation failed without telling the user anything.)
* Added range-checking for the parameters to PRIM_POINT_LIGHT (used in ↵Oren Hurvitz2014-05-061-3/+3
| | | | llSetLinkPrimitiveParamsFast() )
* Eliminated many warningsOren Hurvitz2014-04-231-2/+2
|
* minor: use constants instead of magic numbers in llRequestAgentData() where ↵Justin Clark-Casey (justincc)2014-04-111-6/+6
| | | | possible
* Fix the presence info caching used in llRequestAgentData(), which was ↵Justin Clark-Casey (justincc)2014-04-111-58/+85
| | | | | | | | completely inoperative. This means the presence info may be out of date by up to 20 seconds, but this avoids scripts potentially triggering constants requests to user accout and presence info services. Relates to http://opensimulator.org/mantis/view.php?id=7088 though I fixed in a different way. Adds regression test for this case.
* refactor: Use m_sittingAvatars to maintain the list of sitting avatars ↵Justin Clark-Casey (justincc)2014-04-031-11/+8
| | | | | | instead of two independent structures that do exactly the same thing m_sittingAvatars code also already properly handles locking to avoid races.
* Add check to prevent the return of a wrong value when key is NULL_KEYBlueWall2014-03-311-1/+4
|
* Mantis 6922: No particles are generated if their size exceeds the maximum ↵Talun2014-03-211-4/+10
| | | | | | allowed size. This patch ensures that no particle scal value can exceed 4.0
* Mantis 6974 PERMISSION_TRACK_CAMERA should be implicit on attach.Talun2014-03-201-0/+1
| | | | | http://wiki.secondlife.com/wiki/Run_time_permissions This change makes PERMISSION_TRACK_CAMERA implicit on attach
* Implement osForceBreakAllLinks().Justin Clark-Casey (justincc)2014-03-131-0/+5
| | | | Identical to llBreakAllLinks() except that it doesn't require the script to have link permissions.
* Only allow llBreakAllLinks() to work if script has received ↵Justin Clark-Casey (justincc)2014-03-121-0/+8
| | | | | | | PERMISSION_CHANGE_LINKS As per http://wiki.secondlife.com/wiki/LlBreakAllLinks Same as existing llCreateLink() and llBreakLink()
* Implement osForceCreateLink() and osForceBreakLink()Justin Clark-Casey (justincc)2014-03-121-8/+19
| | | | | | | These are identical to llCreateLink() and llBreakLink() except that they don't require script permissions. However, osForceCreateLink() still requires that linked and linkee still have the same owner. There's also an AutomaticLinkPermission setting in [XEngine] that could be set to true to prevent the LSL function checks. But this doesn't allow the finer control over which users/scripts, etc. can do this that the OSSL functions provide.
* When positioning agent with PRIM_ROTATION in llSetLinkPrimitiveParams(), set ↵Justin Clark-Casey (justincc)2014-03-031-1/+13
| | | | | | | the global rotation rather than the local rotation Functionally the same as the patch in http://opensimulator.org/mantis/view.php?id=7044, thanks Aleric. This commit also extends the regression test
* Stop LSL_Api.GetLinkEntities() from creating an unused list on every ↵Justin Clark-Casey (justincc)2014-02-271-9/+6
| | | | parameter except LINK_THIS. Simplify code.
* minor: remove unused variable from recent commit 0e23374Justin Clark-Casey (justincc)2014-02-271-2/+0
|
* refactor: Make osGetPrimtiveParams() and soSetPrimitiveParams() use common ↵Justin Clark-Casey (justincc)2014-02-271-33/+12
| | | | get/set params code in LSL_Api rather than an old copy&pasted section.
* Implement PRIM_ROTATION, PRIM_ROT_LOCAL, PRIM_POSITION and PRIM_POS_LOCAL ↵Justin Clark-Casey (justincc)2014-02-261-17/+128
| | | | | | | when manipulating avatars via llSetLinkPrimitiveParams() Combination of core parts of Freaky's patch at https://github.com/ft-/opensim-patches/blob/master/opensim-llsetlinkprimitive-agent-fix.patch plus further adjustments from myself. Resolves Mantises 6121, 6421, 6573, 6657
* Merge branch 'justincc-master'Justin Clark-Casey (justincc)2014-01-311-98/+125
|\
| * Made error messages more consistentDavid Rowe2014-01-311-15/+15
| |
| * Replaced throwing exceptions with calls to Error()David Rowe2014-01-311-7/+9
| |
| * Replaced llSay()ing LSL errors with calls Error()David Rowe2014-01-311-9/+8
| |
| * Replaced LSLError() calls with calls to Error()David Rowe2014-01-311-15/+10
| |
| * Updated "deprecated" LSL errors to use Deprecrated()David Rowe2014-01-311-19/+11
| |
| * Updated "not implemented" LSL errors to use NotImplemented()David Rowe2014-01-311-4/+3
| |
| * Updated ShoutError() calls to use new LSL error methodsDavid Rowe2014-01-311-38/+27
| |
| * Updated methods for handling LSL script errors, deprecated, and not implementedDavid Rowe2014-01-311-7/+58
| |
* | Merge branch 'master' into varregionRobert Adams2014-01-111-1/+1
|\ \ | |/ | | | | | | | | | | | | | | Conflicts: OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs OpenSim/Region/Framework/Scenes/SceneBase.cs OpenSim/Services/Interfaces/IGridService.cs OpenSim/Services/LLLoginService/LLLoginResponse.cs (conflicts were debug statements that are commented out in master branch)
| * Fixed llTextBox error message textDavid Rowe2014-01-101-1/+1
| |
* | varregion: many more updates removing the constant RegionSize and replacingRobert Adams2013-12-261-1/+1
| | | | | | | | with a passed region size. This time in the map code and grid services code.
* | varregion: rename 'LegacyRegionLocX' back to 'RegionLocX' and same for Y and Z.Robert Adams2013-12-141-5/+5
| | | | | | | | | | | | Rename 'RegionWorldLocX' to 'WorldLocX' and same for Y and Z. This keeps the downward compatibility and follows the scheme of 'region' and 'world' location naming that is happening in the Util module.
* | varregion: elimination of Constants.RegionSize from all over OpenSimulator.Robert Adams2013-11-081-5/+5
| | | | | | | | | | | | | | Routines in Util to compute region world coordinates from region coordinates as well as the conversion to and from region handles. These routines have replaced a lot of math scattered throughout the simulator. Should be no functional changes.
* | Merge branch 'master' into varregionRobert Adams2013-11-061-1/+27
|\ \ | |/
| * add support for particle glow LSL functionsdahlia2013-11-051-0/+12
| |
| * add support for particle blending LSL functionsdahlia2013-11-051-1/+15
| |
* | Merge branch 'master' into varregionRobert Adams2013-11-041-1/+5
|\ \ | |/
| * add new particle system blending rule enumerationsdahlia2013-10-311-1/+5
| |
* | Merge branch 'master' into varregionRobert Adams2013-10-281-1/+1
|\ \ | |/
| * Call ScriptSleep() instead of llSleep() in routine for llEmail.Kevin Cozens2013-10-181-1/+1
| | | | | | | | Signed-off-by: teravus <teravus@gmail.com>
* | Merge branch 'master' into varregionRobert Adams2013-10-161-19/+22
|\ \ | |/
| * Fixed rezzing coalesced objects from a prim's inventoryOren Hurvitz2013-10-151-19/+22
| | | | | | | | Previously only the first object in the Coalesced Object was rezzed. Now all the objects are rezzed.
* | varregion: remove scattered use of Constants.RegionSize by having routines ↵Robert Adams2013-10-071-5/+2
| | | | | | | | reference RegionInfo.RegionWorldLoc?.
* | VarRegion: change RegionInfo storage of region coordinates from regionRobert Adams2013-09-281-6/+6
|/ | | | | | | | count number to integer world coordinates. Added new methods RegionWorldLoc[XY]. Refactored name of 'RegionLoc*' to 'LegacyRegionLoc*' throughout OpenSim. Kept old 'RegionLoc*' entrypoint to RegionInfo for downward compatability of external region management packages.
* Fix bug where using PRIM_LINK_TARGET with only two remaining list items ↵Justin Clark-Casey (justincc)2013-09-161-2/+2
| | | | | | (e.g. link number then PRIM_ROTATION) would not return the parameter Extended regression test for this case
* Make llGetLinkPrimitiveParams() abort and return existing list of params ↵Justin Clark-Casey (justincc)2013-09-161-2/+11
| | | | | | | | | when it encounters an invalid link number, rather than throwing an exception Addresses http://opensimulator.org/mantis/view.php?id=6768 Thanks to talun for the patch on that commit - in the end I took a different approach that also deals with invalid PRIM_LINK_TARGET However, not yet generating the same warning on invalid PRIM_LINK_TARGET as seen on LL grid This commit also adds regression tests for some cases of llGetLinkPrimitiveParams()
* 6762: llList2Key fails to convert a string in a list to a keyTalun2013-09-121-1/+1
| | | | | llGetPrimitiveParams changed to return the sculpty key as an LSL_String so that type checking in llList2Key will work
* Add implementations for llSetVelocity and llSetAngularVelocity.Robert Adams2013-07-061-0/+26
|