aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add parameter checking for land_collision, land_collision_start and ↵Justin Clark-Casey (justincc)2013-11-292-7784/+8165
| | | | | | land_collision_end lsl events Wrong number of parmeters now generates syntax error on compile, as seen on LL grid
* Add regression test to check that specifying a non-existent event raise a ↵Justin Clark-Casey (justincc)2013-11-161-0/+9
| | | | | | syntax error This was the case before any of the recent changes
* Add syntax checking for no_sensor() no-arg eventJustin Clark-Casey (justincc)2013-11-162-4970/+4981
|
* refactor common code out of no argument LSL event regression testsJustin Clark-Casey (justincc)2013-11-161-14/+13
|
* If anything other than a single integer is specified for events that only ↵Justin Clark-Casey (justincc)2013-11-162-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
* Make state_exit, moving_end, moving_start, not_at_rot_target, not_at_target ↵Justin Clark-Casey (justincc)2013-11-162-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
* refactor LSL_EventTests.TestStateEntryEvent into single method to test compileJustin Clark-Casey (justincc)2013-11-161-14/+17
|
* refactor: replace verbose checks with String.IsNullOrEmpty where applicable.Justin Clark-Casey (justincc)2013-11-152-3/+3
| | | | Thanks to Kira for this patch from http://opensimulator.org/mantis/view.php?id=6845
* Add initial test for checking that specifying a parameter in LSL ↵Justin Clark-Casey (justincc)2013-11-091-0/+64
| | | | | | state_entry() generates a syntax error. Same for other events to follow at a later date.
* add support for particle glow LSL functionsdahlia2013-11-051-0/+12
|
* add support for particle blending LSL functionsdahlia2013-11-051-1/+15
|
* If the LSL state_entry() event definition contains any parameters, then ↵Justin Clark-Casey (justincc)2013-11-024-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.
* add new particle system blending rule enumerationsdahlia2013-10-311-1/+5
|
* add new LSL constants associated with new "ribbon", "glow", and "blend" ↵dahlia2013-10-311-0/+13
| | | | particle system functionality. Note that this does *not* complete required server side changes for implementing the new particle system
* Call ScriptSleep() instead of llSleep() in routine for llEmail.Kevin Cozens2013-10-181-1/+1
| | | | Signed-off-by: teravus <teravus@gmail.com>
* 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.
* Bump OPenSimulator version and assembly versions up to 0.8.0 DevJustin Clark-Casey (justincc)2013-10-044-4/+4
|
* refactor: rename Scene.IncomingCloseAgent() to CloseAgent() in order to make ↵Justin Clark-Casey (justincc)2013-09-271-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()
* Fix bug where using PRIM_LINK_TARGET with only two remaining list items ↵Justin Clark-Casey (justincc)2013-09-162-2/+16
| | | | | | (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-163-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()
* 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
* Remove exception when printing error for failure removing script state.Robert Adams2013-08-131-1/+1
|
* Fix problem with modInvoke defined integer constants being build intoRobert Adams2013-08-022-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.
* Fix NPC regression test failures.Justin Clark-Casey (justincc)2013-07-261-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.
* In co-op termination, extend EventWaitHandle to give this an indefinite ↵Justin Clark-Casey (justincc)2013-07-131-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
* If a sensor is in an attachment, avoid throwing an exception if the attachee ↵Justin Clark-Casey (justincc)2013-07-091-0/+10
| | | | is removed from the scene before we try to retrieve them.
* Add implementations for llSetVelocity and llSetAngularVelocity.Robert Adams2013-07-063-0/+38
|
* correct method doc for llRot2Axis()dahlia2013-06-141-1/+1
|
* minor: remove mono compiler warnings from LSL_Api, properly format method ↵Justin Clark-Casey (justincc)2013-06-151-7/+5
| | | | doc for llRot2Axis()
* Mantis 6280: llSetContentType(). An implementation.Talun2013-06-154-0/+84
| | | | | An implimentation of llSetContentType including all of the new constants added since the mantis was raised.
* Mantis 6108: ossetprimitiveparams temporary/phantom problemTalun2013-06-151-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.
* Adjust output of llRot2Axis and llRot2Angle to match domains SL(tm) uses. ↵dahlia2013-06-111-0/+3
| | | | Addresses Mantis #0006671
* LSL_Rotation.Normalize() now returns 0,0,0,1 for x,y,z,s when normalization ↵dahlia2013-06-101-2/+2
| | | | fails
* llRot2Angle now checks absolute value of s rotation component before normalizingdahlia2013-06-101-11/+3
|
* llRot2Axis now checks absolute value of s rotation component before ↵dahlia2013-06-101-22/+6
| | | | normalizing. Also removed some excessive division and cleaned up a bit
* Check For NaN and Infinity in llRot2Axis/Angle Fixes mantis #6669teravus2013-06-101-2/+4
|
* add a Normalize() method for LSL_Rotationdahlia2013-06-101-0/+25
|
* Mantis 5346: llAxisAngle2Rot() should normalize before computingTalun2013-06-101-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>
* Hook up Keyframe motion to almost everything. Failing to cross a sim borderMelanie2013-06-064-0/+159
| | | | may yield unexpected results in some cases. No database persistence yet,
* Remove unnecessary m_scenes and m_scene from AsyncCommandManager.Justin Clark-Casey (justincc)2013-05-311-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.
* Lock areas of AsyncCommandManager where multiple threads could try to ↵Justin Clark-Casey (justincc)2013-05-311-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.
* refactor: Remove unused AsyncCommandManager.PleaseShutdownJustin Clark-Casey (justincc)2013-05-311-19/+1
|
* If an exception occurs in the AsyncCommandManager loop, spit it out to log ↵Justin Clark-Casey (justincc)2013-05-301-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.
* Implement llSetSoundQueueing().Justin Clark-Casey (justincc)2013-05-221-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
* Fix issue where osMakeNotecard() would fail if given a list containing ↵Justin Clark-Casey (justincc)2013-05-151-30/+30
| | | | | | vectors or quaternions. http://opensimulator.org/mantis/view.php?id=6640
* Add in-code exaplanation for the change in cancellation signalling in STP ↵Justin Clark-Casey (justincc)2013-05-011-2/+0
| | | | 2.2.3. Remove left in Console.WriteLine accidentally inserted in recent 206fb306
* Update SmartThreadPool to latest version 2.2.3 with a major and minor change.Justin Clark-Casey (justincc)2013-05-014-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
* minor: Log an exception if we aren't able to delete a script state file ↵Justin Clark-Casey (justincc)2013-04-091-1/+6
| | | | | | rather than simply ignoring it. This should never normally happen but if it does then it can be valuable diagonstic information.
* Fix bug where outstanding llHTTPRequests for scripts were not being aborted ↵Justin Clark-Casey (justincc)2013-04-041-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.
* Use Output instead of OutputFormat in appropriate places of XEngine status ↵Justin Clark-Casey (justincc)2013-04-021-2/+2
| | | | reporting.