Commit Graph

2411 Commits (59b38f842af4a1ad81e24b132948481e75004d6d)

Author SHA1 Message Date
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) de0ab04d00 Actually add the llRequestAgentData() test class for commit 530c86 2014-04-11 00:36:50 +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
Justin Clark-Casey (justincc) 62a03a5cac Also take YP/commented out JS references from script engine CodeTools.
Fixes build break from d3387d591a
2014-03-26 01:20:49 +00:00
Justin Clark-Casey (justincc) d3387d591a Remove unmaintained and unused YieldProlog scripting language
This hasn't been mainntained since 2008 and has not been kept up with the rest of the language infrastructure.
Hence, it almost certainly doesn't work and has never been used, afaik
If this is wrong, please say on the opensim-users/dev mailing list.
Removing to reduce maintenance burden (since it still needs to be made to compile).
2014-03-26 00:59:57 +00:00
Oren Hurvitz 6734b94761 Better error messages
This resolves http://opensimulator.org/mantis/view.php?id=6936
2014-03-24 12:22:32 +01: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) c9415fd763 If an avatar is sitting, send out position updates to clients for any change, not just those outside the usual tolerances.
This is to allow small adjustments of less than 0.05m in functions such as llSetPrimitiveLinkParams() to work
This is another fix for http://opensimulator.org/mantis/view.php?id=7044
Extends regression test for this case.
2014-03-05 00:38:38 +00: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) ce5d308d23 Add some regression tests for previous commit 0e23374 2014-02-26 23:13:56 +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 fd045d520e Merge branch 'master' into varregion
Conflicts:
	OpenSim/Framework/Constants.cs
	OpenSim/Framework/RegionInfo.cs
	OpenSim/Services/GridService/GridService.cs
	OpenSim/Services/Interfaces/IGridService.cs
Most conflicts had to do with Util routines not in master branch yet.
2014-01-04 08:57:51 -08: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
Justin Clark-Casey (justincc) 2f94165dcc Add lsl arg syntax checking for control event 2013-12-21 01:00:50 +00:00
Justin Clark-Casey (justincc) f1cd813a29 refactor: rename internal lsl parser VectorDeclaration -> VecDeclaration for consistency 2013-12-21 00:49:01 +00:00
Justin Clark-Casey (justincc) 871ac5b16c Add arg checking for at_target lsl event 2013-12-21 00:46:34 +00:00
Justin Clark-Casey (justincc) a5e4780547 Add lsl event arg checking for at_rot_target 2013-12-21 00:37:56 +00:00
Justin Clark-Casey (justincc) b757ab2586 Add lsl event argument checking for attach and on_rez 2013-12-21 00:08:36 +00:00
Robert Adams 6937eec258 Merge branch 'master' into varregion
Add new region crossing code to varregion

Conflicts:
	OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2013-12-17 06:18:13 -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
Justin Clark-Casey (justincc) 51da52f904 Extend TestLlGetNotecardLine() regression test to contain chars that are two bytes in utf8 2013-12-14 02:48:29 +00:00
Eva Comaroski 63ccc3dbf5 Convert if-blocks to return statements in small functions such as GetStartParameter(). 2013-12-14 01:20:24 +00:00
Robert Adams 31bacfbb63 Merge branch 'master' into varregion 2013-12-01 15:51:42 -08:00
Justin Clark-Casey (justincc) a64377149d Add parameter checking for land_collision, land_collision_start and land_collision_end lsl events
Wrong number of parmeters now generates syntax error on compile, as seen on LL grid
2013-11-29 00:44:53 +00:00
Robert Adams 3193bcaae1 Merge branch 'master' into varregion 2013-11-24 07:23:12 -08:00
Justin Clark-Casey (justincc) f94d07f2e2 Add regression test to check that specifying a non-existent event raise a syntax error
This was the case before any of the recent changes
2013-11-16 03:02:57 +00:00
Justin Clark-Casey (justincc) 79c1ed8cb9 Add syntax checking for no_sensor() no-arg event 2013-11-16 03:00:03 +00:00
Justin Clark-Casey (justincc) ec4d96acc9 refactor common code out of no argument LSL event regression tests 2013-11-16 02:58:06 +00:00
Justin Clark-Casey (justincc) edd7e19463 If anything other than a single integer is specified for events that only take a single integer, generate a syntax error on LSL script compile rather than an exception later on.
This applies to events changed, collision, collision_start, collision_end, on_rez, run_time_permissions, sensor, touch, touch_start, touch_end
2013-11-16 02:50:14 +00:00
Justin Clark-Casey (justincc) 62006baaef Make state_exit, moving_end, moving_start, not_at_rot_target, not_at_target and timer LSL events generate a syntax error if inappropriately given arguments.
This matches behaviour seen on the LL grid and a previous change for state_entry.
These are all the events which should take no arguments
2013-11-16 01:30:23 +00:00
Justin Clark-Casey (justincc) d728c1beb2 refactor LSL_EventTests.TestStateEntryEvent into single method to test compile 2013-11-16 01:25:25 +00: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 7061784cc6 Merge branch 'master' into varregion 2013-11-08 20:55:28 -08: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
Justin Clark-Casey (justincc) fd24147afa Add initial test for checking that specifying a parameter in LSL state_entry() generates a syntax error.
Same for other events to follow at a later date.
2013-11-09 00:36:05 +00: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
Justin Clark-Casey (justincc) 2b069a3b1e If the LSL state_entry() event definition contains any parameters, then generate syntax error as seen on the LL grid
This is done through the parser and so generates the same syntax error message if any parameters are wrongly specified for this event.
We were already enforcing event names in the parser.
This is only for state_entry so far as an initial test of the approach - appears to work correctly.
2013-11-02 00:39:12 +00:00
dahlia cc73ef4eb9 add new particle system blending rule enumerations 2013-10-31 17:49:01 -07:00
dahlia eb52d346c0 add new LSL constants associated with new "ribbon", "glow", and "blend" particle system functionality. Note that this does *not* complete required server side changes for implementing the new particle system 2013-10-31 16:13:03 -07:00
Robert Adams 2be0347f50 Merge branch 'master' into varregion 2013-10-28 09:30:26 -07:00
Kevin Cozens 84a149ecbf Call ScriptSleep() instead of llSleep() in routine for llEmail.
Signed-off-by: teravus <teravus@gmail.com>
2013-10-18 14:30:05 -05:00
Robert Adams 8937a2244d Merge branch 'master' into varregion 2013-10-16 07:53:44 -07:00
Oren Hurvitz d0c1780839 Fixed rezzing coalesced objects from a prim's inventory
Previously only the first object in the Coalesced Object was rezzed. Now all the objects are rezzed.
2013-10-15 23:59:16 +01:00
Robert Adams 86bf79aa2b Merge branch 'master' into varregion 2013-10-07 13:58:17 -07:00
Robert Adams 25ae59b9eb varregion: remove scattered use of Constants.RegionSize by having routines reference RegionInfo.RegionWorldLoc?. 2013-10-07 13:57:30 -07:00
Justin Clark-Casey (justincc) 42bdf44658 Bump OPenSimulator version and assembly versions up to 0.8.0 Dev 2013-10-04 23:33:47 +01:00
Robert Adams 317c04fe17 VarRegion: change RegionInfo storage of region coordinates from region
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.
2013-09-28 07:33:52 -07:00
Justin Clark-Casey (justincc) b16bc7b01c refactor: rename Scene.IncomingCloseAgent() to CloseAgent() in order to make it clear that all non-clientstack callers should be using this rather than RemoveClient() in order to step through the ScenePresence state machine properly.
Adds IScene.CloseAgent() to replace RemoveClient()
2013-09-27 19:14:21 +01:00
Justin Clark-Casey (justincc) f99dae03cb Fix bug where using PRIM_LINK_TARGET with only two remaining list items (e.g. link number then PRIM_ROTATION) would not return the parameter
Extended regression test for this case
2013-09-16 23:00:40 +01:00
Justin Clark-Casey (justincc) 60cf42cb8d Make llGetLinkPrimitiveParams() abort and return existing list of params 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()
2013-09-16 22:56:08 +01:00
Talun 07d6a0385f 6762: llList2Key fails to convert a string in a list to a key
llGetPrimitiveParams changed to return the sculpty key as an LSL_String so
that type checking in llList2Key will work
2013-09-12 23:23:52 +01:00
Robert Adams a90351cd2c Remove exception when printing error for failure removing script state. 2013-08-13 11:49:09 -07:00
Robert Adams 87ee0c395e Fix problem with modInvoke defined integer constants being build into
scripts as boxed integers rather than proper reference to a new LSLInteger.
This fixes an exception when using a registered integer constant in
a script.
2013-08-02 09:44:01 -07:00
Justin Clark-Casey (justincc) a08f01fa83 Fix NPC regression test failures.
These were genuine failures caused by ScenePresence.CompleteMovement() waiting for an UpdateAgent from NPC introduction that would never come.
Instead, we do not wait if the agent is an NPC.
2013-07-26 18:43:15 +01:00
Justin Clark-Casey (justincc) 3d118fb580 In co-op termination, extend EventWaitHandle to give this an indefinite lifetime in order to avoid a later RemotingException if scripts are being loaded into their own domains.
This is necessary because XEngineScriptBase now retains a reference to an EventWaitHandle when co-op termination is active.
Aims to address http://opensimulator.org/mantis/view.php?id=6634
2013-07-13 00:02:54 +01:00
Justin Clark-Casey (justincc) cec8e6d0f7 If a sensor is in an attachment, avoid throwing an exception if the attachee is removed from the scene before we try to retrieve them. 2013-07-09 23:52:47 +01:00
Robert Adams d838f15d97 Add implementations for llSetVelocity and llSetAngularVelocity. 2013-07-06 09:53:30 -07:00
dahlia 694c4bcbb6 correct method doc for llRot2Axis() 2013-06-14 20:00:20 -07:00
Justin Clark-Casey (justincc) da3724a904 minor: remove mono compiler warnings from LSL_Api, properly format method doc for llRot2Axis() 2013-06-15 00:11:36 +01:00
Talun f074739e33 Mantis 6280: llSetContentType(). An implementation.
An implimentation of llSetContentType including all of the new
constants added since the mantis was raised.
2013-06-15 00:06:03 +01:00
Talun fc89bde044 Mantis 6108: ossetprimitiveparams temporary/phantom problem
Corrected to ensure that the target prim is updated by
osSetPrimitiveParams when setting PRIM_TEMP_ON_REZ and/or PRIM_PHANTOM
instead of the prim that the script is in.
2013-06-15 00:00:00 +01:00
dahlia ed950e6c74 Adjust output of llRot2Axis and llRot2Angle to match domains SL(tm) uses. Addresses Mantis #0006671 2013-06-11 00:29:40 -07:00
dahlia ba84074468 LSL_Rotation.Normalize() now returns 0,0,0,1 for x,y,z,s when normalization fails 2013-06-10 17:54:14 -07:00
dahlia 9d9b9d4938 llRot2Angle now checks absolute value of s rotation component before normalizing 2013-06-10 17:11:49 -07:00
dahlia b242ead6df llRot2Axis now checks absolute value of s rotation component before normalizing. Also removed some excessive division and cleaned up a bit 2013-06-10 17:10:04 -07:00
teravus 1c7fbb86c2 Check For NaN and Infinity in llRot2Axis/Angle Fixes mantis #6669 2013-06-10 18:47:08 -05:00