aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-11-29Add parameter checking for land_collision, land_collision_start and ↵Justin Clark-Casey (justincc)2-7784/+8165
land_collision_end lsl events Wrong number of parmeters now generates syntax error on compile, as seen on LL grid
2013-11-16Add regression test to check that specifying a non-existent event raise a ↵Justin Clark-Casey (justincc)1-0/+9
syntax error This was the case before any of the recent changes
2013-11-16Add syntax checking for no_sensor() no-arg eventJustin Clark-Casey (justincc)2-4970/+4981
2013-11-16refactor common code out of no argument LSL event regression testsJustin Clark-Casey (justincc)1-14/+13
2013-11-16If anything other than a single integer is specified for events that only ↵Justin Clark-Casey (justincc)2-8245/+8691
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-16Make state_exit, moving_end, moving_start, not_at_rot_target, not_at_target ↵Justin Clark-Casey (justincc)2-7447/+7520
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-16refactor LSL_EventTests.TestStateEntryEvent into single method to test compileJustin Clark-Casey (justincc)1-14/+17
2013-11-15refactor: replace verbose checks with String.IsNullOrEmpty where applicable.Justin Clark-Casey (justincc)2-3/+3
Thanks to Kira for this patch from http://opensimulator.org/mantis/view.php?id=6845
2013-11-09Add initial test for checking that specifying a parameter in LSL ↵Justin Clark-Casey (justincc)1-0/+64
state_entry() generates a syntax error. Same for other events to follow at a later date.
2013-11-05add support for particle glow LSL functionsdahlia1-0/+12
2013-11-05add support for particle blending LSL functionsdahlia1-1/+15
2013-11-02If the LSL state_entry() event definition contains any parameters, then ↵Justin Clark-Casey (justincc)4-7471/+7692
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-10-31add new particle system blending rule enumerationsdahlia1-1/+5
2013-10-31add new LSL constants associated with new "ribbon", "glow", and "blend" ↵dahlia1-0/+13
particle system functionality. Note that this does *not* complete required server side changes for implementing the new particle system
2013-10-18Call ScriptSleep() instead of llSleep() in routine for llEmail.Kevin Cozens1-1/+1
Signed-off-by: teravus <teravus@gmail.com>
2013-10-15Fixed rezzing coalesced objects from a prim's inventoryOren Hurvitz1-19/+22
Previously only the first object in the Coalesced Object was rezzed. Now all the objects are rezzed.
2013-10-04Bump OPenSimulator version and assembly versions up to 0.8.0 DevJustin Clark-Casey (justincc)4-4/+4
2013-09-27refactor: rename Scene.IncomingCloseAgent() to CloseAgent() in order to make ↵Justin Clark-Casey (justincc)1-1/+1
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-16Fix bug where using PRIM_LINK_TARGET with only two remaining list items ↵Justin Clark-Casey (justincc)2-2/+16
(e.g. link number then PRIM_ROTATION) would not return the parameter Extended regression test for this case
2013-09-16Make llGetLinkPrimitiveParams() abort and return existing list of params ↵Justin Clark-Casey (justincc)3-239/+397
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-126762: llList2Key fails to convert a string in a list to a keyTalun1-1/+1
llGetPrimitiveParams changed to return the sculpty key as an LSL_String so that type checking in llList2Key will work
2013-08-13Remove exception when printing error for failure removing script state.Robert Adams1-1/+1
2013-08-02Fix problem with modInvoke defined integer constants being build intoRobert Adams2-3/+3
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-07-26Fix NPC regression test failures.Justin Clark-Casey (justincc)1-0/+1
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-13In co-op termination, extend EventWaitHandle to give this an indefinite ↵Justin Clark-Casey (justincc)1-2/+21
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-09If a sensor is in an attachment, avoid throwing an exception if the attachee ↵Justin Clark-Casey (justincc)1-0/+10
is removed from the scene before we try to retrieve them.
2013-07-06Add implementations for llSetVelocity and llSetAngularVelocity.Robert Adams3-0/+38
2013-06-14correct method doc for llRot2Axis()dahlia1-1/+1
2013-06-15minor: remove mono compiler warnings from LSL_Api, properly format method ↵Justin Clark-Casey (justincc)1-7/+5
doc for llRot2Axis()
2013-06-15Mantis 6280: llSetContentType(). An implementation.Talun4-0/+84
An implimentation of llSetContentType including all of the new constants added since the mantis was raised.
2013-06-15Mantis 6108: ossetprimitiveparams temporary/phantom problemTalun1-2/+2
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-11Adjust output of llRot2Axis and llRot2Angle to match domains SL(tm) uses. ↵dahlia1-0/+3
Addresses Mantis #0006671
2013-06-10LSL_Rotation.Normalize() now returns 0,0,0,1 for x,y,z,s when normalization ↵dahlia1-2/+2
fails
2013-06-10llRot2Angle now checks absolute value of s rotation component before normalizingdahlia1-11/+3
2013-06-10llRot2Axis now checks absolute value of s rotation component before ↵dahlia1-22/+6
normalizing. Also removed some excessive division and cleaned up a bit
2013-06-10Check For NaN and Infinity in llRot2Axis/Angle Fixes mantis #6669teravus1-2/+4
2013-06-10add a Normalize() method for LSL_Rotationdahlia1-0/+25
2013-06-10Mantis 5346: llAxisAngle2Rot() should normalize before computingTalun1-0/+1
Corrected to agree with http://wiki.secondlife.com/wiki/Llaxisangle2rot#Deep_Notes to normalise the vector before computing the quaternion Signed-off-by: dahlia <dahlia@nomail>
2013-06-06Hook up Keyframe motion to almost everything. Failing to cross a sim borderMelanie4-0/+159
may yield unexpected results in some cases. No database persistence yet,
2013-05-31Remove unnecessary m_scenes and m_scene from AsyncCommandManager.Justin Clark-Casey (justincc)1-6/+1
These were private and the sole point of use (to know when to load config for the first time) can be done by looking at script engines instead.
2013-05-31Lock areas of AsyncCommandManager where multiple threads could try to ↵Justin Clark-Casey (justincc)1-111/+177
access/update the same static structures simultaneously. This is possible where there is more than one scene (multiple copies of the same script engine) and/or more than one script engine being used. These operations are not thread safe and could be leading to the exceptions/problems seen in http://opensimulator.org/mantis/view.php?id=6651 This also prevents a small race condition where more than one AsyncLSLCmdHandlerThread could be started.
2013-05-31refactor: Remove unused AsyncCommandManager.PleaseShutdownJustin Clark-Casey (justincc)1-19/+1
2013-05-30If an exception occurs in the AsyncCommandManager loop, spit it out to log ↵Justin Clark-Casey (justincc)1-8/+6
rather than silently swallowing it. This might help diagnose the cause of http://opensimulator.org/mantis/view.php?id=6651 where sometimes scripts fail to start on region start.
2013-05-22Implement llSetSoundQueueing().Justin Clark-Casey (justincc)1-4/+8
This is controlled by the viewer, not the server. So as per http://wiki.secondlife.com/wiki/LlSetSoundQueueing, only two sounds can be queued per prim. You probably need to use llPreloadSound() for best results
2013-05-15Fix issue where osMakeNotecard() would fail if given a list containing ↵Justin Clark-Casey (justincc)1-30/+30
vectors or quaternions. http://opensimulator.org/mantis/view.php?id=6640
2013-05-01Add in-code exaplanation for the change in cancellation signalling in STP ↵Justin Clark-Casey (justincc)1-2/+0
2.2.3. Remove left in Console.WriteLine accidentally inserted in recent 206fb306
2013-05-01Update SmartThreadPool to latest version 2.2.3 with a major and minor change.Justin Clark-Casey (justincc)4-9/+12
SmartThreadPool code comes from http://www.codeproject.com/Articles/7933/Smart-Thread-Pool This version implements thread abort (via WorkItem.Cancel(true)), threadpool naming, max thread stack, etc. so we no longer need to manually patch those. However, two changes have been made to stock 2.2.3. Major change: WorkItem.Cancel(bool abortExecution) in our version does not succeed if the work item was in progress and thread abort was not specified. This is to match previous behaviour where we handle co-operative termination via another mechanism rather than checking WorkItem.IsCanceled. Minor change: Did not add STP's StopWatch implementation as this is only used WinCE and Silverlight and causes a build clash with System.Diagnostics.StopWatch The reason for updating is to see if this improves http://opensimulator.org/mantis/view.php?id=6557 and http://opensimulator.org/mantis/view.php?id=6586
2013-04-09minor: Log an exception if we aren't able to delete a script state file ↵Justin Clark-Casey (justincc)1-1/+6
rather than simply ignoring it. This should never normally happen but if it does then it can be valuable diagonstic information.
2013-04-04Fix bug where outstanding llHTTPRequests for scripts were not being aborted ↵Justin Clark-Casey (justincc)1-1/+7
when they were deleted. This was because AsyncCommandManager was handing an item ID to IHttpRequestModule.StopHttpRequest() rather than the expected request ID. This commit also makes the http request asynchronous using BeginGetResponse() rather than doing this by launching a new thread so that we can more safely abort it via HttpWebRequest.Abort() rather than aborting the thread itself. This also renames StopHttpRequest() to StopHttpRequestsForScript() since any outstanding requests are now aborted and/or removed.
2013-04-02Use Output instead of OutputFormat in appropriate places of XEngine status ↵Justin Clark-Casey (justincc)1-2/+2
reporting.