Justin Clark-Casey (justincc)
539ffb7769
Use thread-safe version of .NET Random as the SDK class is not thread-safe.
...
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.
2014-08-02 00:54:42 +01:00
Justin Clark-Casey (justincc)
174df94172
If a script calls llSetCameraAtOffset() or llSetCameraEyeOffset() on a child 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.
2014-05-22 23:58:28 +01:00
Vegaslon
e245638f24
Change llUnSit to be able to unsit any avatar that is currently sat on the 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.
2014-05-06 17:35:34 +01:00
Talun
c9742c826d
Mantis 7146 The lsl function llGetMassMKS is not implemented
...
This patch implements llGetMassMKS as it is described in the wiki
http://wiki.secondlife.com/wiki/LlGetMassMKS
2014-05-06 17:31:21 +01:00
Oren Hurvitz
eb79c882ea
Show more meaningful error messages when failed to move an item from a prim 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.)
2014-05-06 07:28:45 +01:00
Oren Hurvitz
7862d1e20d
Added range-checking for the parameters to PRIM_POINT_LIGHT (used in llSetLinkPrimitiveParamsFast() )
2014-05-06 07:14:58 +01:00
Melanie
f0eeb47262
Add the "StateChange" function to the async comand manager to differentiate
...
between state changes and script exit/reset.
2014-04-30 20:54:34 +01:00
Oren Hurvitz
998d7009a6
Eliminated many warnings
2014-04-23 16:37:36 +03:00
Justin Clark-Casey (justincc)
7c148d9b2f
minor: use constants instead of magic numbers in llRequestAgentData() where possible
2014-04-11 00:52:28 +01:00
Justin Clark-Casey (justincc)
530c86335d
Fix the presence info caching used in llRequestAgentData(), which was 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.
2014-04-11 00:29:06 +01:00
Justin Clark-Casey (justincc)
6ac9c9c972
refactor: Use m_sittingAvatars to maintain the list of sitting avatars instead of two independent structures that do exactly the same thing
...
m_sittingAvatars code also already properly handles locking to avoid races.
2014-04-03 01:14:39 +01:00
BlueWall
59d0e3c3c8
Add check to prevent the return of a wrong value when key is NULL_KEY
2014-03-31 15:49:53 -04:00
Talun
fb312279c9
Mantis 6922: No particles are generated if their size exceeds the maximum allowed size.
...
This patch ensures that no particle scal value can exceed 4.0
2014-03-21 23:13:34 +00:00
Talun
bd6f734d3a
Mantis 6974 PERMISSION_TRACK_CAMERA should be implicit on attach.
...
http://wiki.secondlife.com/wiki/Run_time_permissions
This change makes PERMISSION_TRACK_CAMERA implicit on attach
2014-03-20 20:11:26 +00:00
Justin Clark-Casey (justincc)
873eee5431
Implement osForceBreakAllLinks().
...
Identical to llBreakAllLinks() except that it doesn't require the script to have link permissions.
2014-03-13 00:04:20 +00:00
Justin Clark-Casey (justincc)
6a279feb2f
Only allow llBreakAllLinks() to work if script has received PERMISSION_CHANGE_LINKS
...
As per http://wiki.secondlife.com/wiki/LlBreakAllLinks
Same as existing llCreateLink() and llBreakLink()
2014-03-12 23:54:20 +00:00
Justin Clark-Casey (justincc)
296d63e20b
Implement osForceCreateLink() and osForceBreakLink()
...
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.
2014-03-12 23:05:16 +00:00
Dev Random
9de3fe9410
Add Varregion support to osGetRegionSize OSSL function
...
Signed-off-by: Michael Cerquoni <nebadon2025@gmail.com >
2014-03-07 17:48:07 -05:00
Justin Clark-Casey (justincc)
31de7b845f
When positioning agent with PRIM_ROTATION in llSetLinkPrimitiveParams(), set 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
2014-03-03 23:35:21 +00:00
Justin Clark-Casey (justincc)
91333b9267
Stop LSL_Api.GetLinkEntities() from creating an unused list on every parameter except LINK_THIS. Simplify code.
2014-02-27 00:23:24 +00:00
Justin Clark-Casey (justincc)
ed760f2586
minor: remove unused variable from recent commit 0e23374
2014-02-27 00:14:16 +00:00
Justin Clark-Casey (justincc)
d7c9725ec0
refactor: Make osGetPrimtiveParams() and soSetPrimitiveParams() use common get/set params code in LSL_Api rather than an old copy&pasted section.
2014-02-27 00:11:50 +00:00
Justin Clark-Casey (justincc)
0e23374aa2
Implement PRIM_ROTATION, PRIM_ROT_LOCAL, PRIM_POSITION and PRIM_POS_LOCAL 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
2014-02-26 23:07:13 +00:00
Justin Clark-Casey (justincc)
b2878eb773
Merge branch 'justincc-master'
2014-01-31 00:51:22 +00:00
David Rowe
1380b37d71
Made error messages more consistent
2014-01-31 00:24:52 +00:00
David Rowe
3d62f4369d
Replaced throwing exceptions with calls to Error()
2014-01-31 00:24:47 +00:00
David Rowe
d405254971
Replaced llSay()ing LSL errors with calls Error()
2014-01-31 00:24:43 +00:00
David Rowe
9db4090c07
Replaced LSLError() calls with calls to Error()
2014-01-31 00:24:40 +00:00
David Rowe
c9550e473d
Updated "deprecated" LSL errors to use Deprecrated()
2014-01-31 00:24:36 +00:00
David Rowe
257f9cec40
Updated "not implemented" LSL errors to use NotImplemented()
2014-01-31 00:24:31 +00:00
David Rowe
13bb9ea682
Updated ShoutError() calls to use new LSL error methods
2014-01-31 00:21:22 +00:00
David Rowe
67ec95bde8
Updated methods for handling LSL script errors, deprecated, and not implemented
2014-01-31 00:20:10 +00:00
Robert Adams
8eec717f5f
Merge branch 'master' into varregion
2014-01-28 08:50:28 -08:00
Oren Hurvitz
2cf224166f
Added osGetRegionSize(), which returns the region size in meters and recognizes megaregions
2014-01-28 00:11:50 +00:00
Robert Adams
f127e4b4ee
Merge branch 'master' into varregion
2014-01-19 07:38:53 -08:00
Justin Clark-Casey (justincc)
e9454d4672
Following on from 50ea2e0, only fetch scene presence for check if lightscript function has failed initial IsEstateManagerOrOwner() check
2014-01-18 01:36:40 +00:00
Oren Hurvitz
50ea2e0d67
Fixed: Windlight functions caused an error if called when the script's owner isn't in the scene
2014-01-18 01:26:30 +00:00
Justin Clark-Casey (justincc)
14c72d4a5b
Revert "Fixed: Windlight functions caused an error if called when the script's owner isn't in the scene"
...
This reverts commit 39e5785c0f .
Did not mean to apply this yet.
2014-01-17 01:58:10 +00:00
Oren Hurvitz
39e5785c0f
Fixed: Windlight functions caused an error if called when the script's owner isn't in the scene
2014-01-17 01:47:37 +00:00
Robert Adams
1cf17a3cf7
Merge branch 'master' into varregion
...
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)
2014-01-11 08:52:23 -08:00
David Rowe
08f2fc63cd
Fixed llTextBox error message text
2014-01-10 20:43:24 +00:00
Robert Adams
2d2bea4aa7
varregion: many more updates removing the constant RegionSize and replacing
...
with a passed region size. This time in the map code and grid services code.
2013-12-26 22:45:59 -08:00
Robert Adams
13a9a4b653
varregion: rename 'LegacyRegionLocX' back to 'RegionLocX' and same for Y and Z.
...
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.
2013-12-14 07:53:01 -08:00
Robert Adams
604b39cea9
Merge branch 'master' into varregion
2013-11-15 14:56:13 -08:00
Justin Clark-Casey (justincc)
7cab41f422
refactor: replace verbose checks with String.IsNullOrEmpty where applicable.
...
Thanks to Kira for this patch from http://opensimulator.org/mantis/view.php?id=6845
2013-11-15 21:45:08 +00:00
Robert Adams
beeec1c467
varregion: elimination of Constants.RegionSize from all over OpenSimulator.
...
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.
2013-11-08 20:53:37 -08:00
Robert Adams
f7bd0da026
Merge branch 'master' into varregion
2013-11-06 06:32:11 -08:00
dahlia
0b4577d5b0
add support for particle glow LSL functions
2013-11-05 23:48:44 -08:00
dahlia
709814c194
add support for particle blending LSL functions
2013-11-05 23:38:43 -08:00
Robert Adams
c931b16c1f
Merge branch 'master' into varregion
2013-11-04 22:12:57 -08:00