aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' into careminsterMelanie2012-03-201-4/+4
|\ | | | | | | | | Conflicts: OpenSim/Data/MySQL/MySQLXAssetData.cs
| * Stop console command "xengine status" throwing an exception if there are no ↵Justin Clark-Casey (justincc)2012-03-191-4/+4
| | | | | | | | | | | | scripts in a region. Addresses http://opensimulator.org/mantis/view.php?id=5940
* | Merge branch 'master' into careminsterMelanie2012-03-1811-6/+307
|\ \ | |/ | | | | | | | | | | Conflicts: OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs OpenSim/Region/Framework/Scenes/Scene.cs
| * Add osGetInventoryDesc() as per http://opensimulator.org/mantis/view.php?id=5927Justin Clark-Casey (justincc)2012-03-173-0/+30
| | | | | | | | | | This allows one to get description data for a given prim inventory item. Thanks MarcelEdward and GuduleLapointe!
| * refactor: separate out console and status report generation parts of XEngineJustin Clark-Casey (justincc)2012-03-161-1/+6
| |
| * Aggregate script execution times by linksets rather than individual prims.Justin Clark-Casey (justincc)2012-03-163-3/+19
| | | | | | | | This is for the top scripts report.
| * Replace script-lines-per-second with the script execution time scaled by its ↵Justin Clark-Casey (justincc)2012-03-163-1/+88
| | | | | | | | | | | | | | | | | | | | | | measurement period and an idealised frame time. The previous lines-per-second measurement used for top scripts report was inaccurate, since lines executed does not reflect time taken to execute. Also, every fetch of the report would reset all the numbers limiting its usefulness and we weren't even guaranteed to see the top 100. The actual measurement value should be script execution time per frame but XEngine does not work this way. Therefore, we use actual script execution time scaled by the measurement period and an idealised frame time. This is still not ideal but gives reasonable results and allows scripts to be compared. This commit moves script execution time calculations from SceneGraph into IScriptModule implementations.
| * Protect the scriptmodulecomms interface.Mic Bowman2012-03-151-1/+4
| |
| * Adds a new script command 'modInvoke' to invoke registered functionsMic Bowman2012-03-155-3/+163
| | | | | | | | | | | | | | | | | | from region modules. The LSL translator is extended to generate the modInvoke format of commands for directly inlined function calls. A region module can register a function Test() with the name "Test". LSL code can call that function as "Test()". The compiler will translate that invocation into modInvoke("Test", ...)
* | Merge branch 'master' into careminsterMelanie2012-03-153-219/+154
|\ \ | |/ | | | | | | | | | | Conflicts: OpenSim/Region/Framework/Scenes/Scene.cs OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
| * Remove property/field duplication in ScriptInstance where it's unnecessary.Justin Clark-Casey (justincc)2012-03-152-170/+115
| |
| * Simplify some logic in the ScriptInstance constructor - running is set to ↵Justin Clark-Casey (justincc)2012-03-151-9/+3
| | | | | | | | false in both if/else branches
| * minor: correct indentation levelsJustin Clark-Casey (justincc)2012-03-151-13/+12
| |
| * Remove duplication of m_RunEvents and RunningJustin Clark-Casey (justincc)2012-03-151-17/+11
| |
| * Fix a problem where multiple near simultaneous calls to llDie() from ↵Justin Clark-Casey (justincc)2012-03-151-10/+9
| | | | | | | | | | | | | | | | | | | | multiple scripts in the same linkset can cause unnecessary thread aborts. The first llDie() could lock Scene.m_deleting_scene_object. The second llDie() would then wait at this lock. The first llDie() would go on to remove the second script but always abort it since the second script's WorkItem would not go away. Easiest solution here is to remove the m_deleting_scene_object since it's no longer justified - we no longer lock m_parts but take a copy instead. This also requires an adjustment in XEngine.OnRemoveScript not to use instance.ObjectID instead when firing the OnObjectRemoved event.
| * Alleviate an issue where calling Thread.Abort() on script WorkItems can fail ↵Justin Clark-Casey (justincc)2012-03-152-4/+15
| | | | | | | | | | | | | | | | | | | | to release locks, resulting in a crippled simulator. This seems to be a particular problem with ReaderWriterLockSlim, though other locks can be affected as well. It has been seen to happen when llDie() is called in a linkset running more than one script. Alleviation here means supplying a ScriptInstance.Stop() timeout of 1000ms rather than 0ms, to give events a chance to complete. Also, we check the IsRunning status at the top of the ScriptInstance.EventProcessor() so that another event doesn't start in the mean time. Ultimately, a better solution may have to be found since a long-running event would still exceed the timeout and be aborted.
* | Allow llTeleportAgent to teleport gods when not in god modeMelanie2012-03-141-1/+1
| |
* | Merge branch 'master' into careminsterMelanie2012-03-146-24/+83
|\ \ | |/ | | | | | | | | Conflicts: OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
| * refactor: rename ScriptInstance.m_CurrentResult to m_CurrentWorkItem to make ↵Justin Clark-Casey (justincc)2012-03-143-25/+50
| | | | | | | | | | | | it more understandable as to what it is and what it does (hold a thread pool work item for a waiting of in-progress event) Also add other various illustrative comments
| * Add max thread and min thread information to "xengine status" region console ↵Justin Clark-Casey (justincc)2012-03-122-0/+5
| | | | | | | | command
| * Added osGetGridGatekeeperURI()Diva Canto2012-03-103-0/+20
| |
* | Implement llSetPrimitiveParams for physics shape and material. AddMelanie2012-03-134-0/+77
| | | | | | | | llSetPhysicsMaterial support.
* | Add AVATAR_MALE flag to return values of llGetAgentInfoMelanie2012-03-122-0/+6
| |
* | Merge branch 'master' into careminsterMelanie2012-03-091-16/+6
|\ \ | |/ | | | | | | | | Conflicts: OpenSim/Region/Framework/Scenes/ScenePresence.cs OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
| * Use SP.ParentPart instead of ParentID in places where it's more efficient ↵Justin Clark-Casey (justincc)2012-03-091-17/+7
| | | | | | | | | | | | | | (saving extra null checks, etc.) However, it looks like we should retain SP.ParentID since it's much easier to use that in places where another thread could change ParentPart to null. Otherwise one has to clumsily put ParentPart in a reference, etc. to avoid a race.
| * FireAndForget scripted rez - port from AvinationMelanie2012-03-091-41/+46
| |
* | Merge branch 'master' into careminsterMelanie2012-03-081-7/+7
|\ \ | |/
| * Change "help" to display categories/module list then "help ↵Justin Clark-Casey (justincc)2012-03-081-7/+7
| | | | | | | | | | | | | | | | | | | | | | <category/module>" to display commands in a category. This is to deal with the hundred lines of command splurge when one previously typed "help" Modelled somewhat on the mysql console One can still type help <command> to get per command help at any point. Categories capitalized to avoid conflict with the all-lowercase commands (except for commander system, as of yet). Does not affect command parsing or any other aspects of the console apart from the help system. Backwards compatible with existing modules.
* | Merge branch 'master' into careminsterMelanie2012-03-0714-46/+353
|\ \ | |/ | | | | | | Conflicts: OpenSim/Region/Framework/Scenes/Scene.cs
| * Add sensor, dataserver requests, timer and listener counts to "xengine ↵Justin Clark-Casey (justincc)2012-03-066-12/+111
| | | | | | | | | | | | status" command. This is for diagnostic purposes.
| * Fix TestSyntaxError() and TestSyntaxErrorDeclaringVariableInForLoop()Justin Clark-Casey (justincc)2012-03-061-8/+14
| | | | | | | | | | | | | | They were all failing assertions but the exceptions these threw were caught as expected Exceptions. I don't think we can easily distinguish these from the Exceptions that we're expecting. So for now we'll do some messy manually checking with boolean setting instead. This patch also corrects the assertions themselves.
| * Get all test methods in OpenSim.Region.ScriptEngine.Tests.dll to report that ↵Justin Clark-Casey (justincc)2012-03-068-26/+228
| | | | | | | | they're running
* | Merge branch 'master' into careminsterMelanie2012-03-061-1/+1
|\ \ | |/
| * Fix off by one error in script error reporting.Justin Clark-Casey (justincc)2012-03-061-1/+1
| |
* | Merge branch 'master' of ssh://melanie@3dhosting.de/var/git/careminster into ↵Melanie2012-03-063-7/+32
|\ \ | | | | | | | | | careminster
| * | Allow NPC to be removed by the owner of the parcel they're over.Melanie2012-03-051-2/+9
| | | | | | | | | | | | Don't allow NPC creation unless the prim owner has rez rights.
| * | Teleport users to the cornfield when they are teleported withMelanie2012-03-051-3/+13
| | | | | | | | | | | | llTeleportAgentHome(). Don't try to teleport NPCs.
| * | llListSort SL compatibility: When sorting strided list and the listMelanie2012-03-051-2/+5
| | | | | | | | | | | | | | | | | | length is not a multiple of the stride, return the original list. Also, enforce that sort is ascending only when the ascending parameter is 1, and not when it is != 0
| * | SL compatibility - return only points on segemtn, not ray in llCastRayMelanie2012-03-051-0/+5
| | |
* | | Merge branch 'master' of ssh://melanie@3dhosting.de/var/git/careminster into ↵Melanie2012-03-044-3/+188
|\ \ \ | |/ / | | | | | | careminster
| * | Fix and hook up llTeleportAgentMelanie2012-02-283-1/+7
| | |
| * | Implement llTeleportAgentMelanie2012-02-281-0/+22
| | |
| * | Move KeyframeMotion from SOG to SOP because we can't persist it anyMelanie2012-02-261-11/+11
| | | | | | | | | | | | other way because SOG doesn't technically exist in the DB
| * | Fix deserialization of Buoyancy, Force and Torque. Remove debug from the newMelanie2012-02-261-2/+2
| | | | | | | | | | | | code.
| * | Implement llSetKeyframedMotion. No persistence, no region crossing. Yet.Melanie2012-02-264-1/+158
| | |
* | | Merge branch 'master' into careminsterMelanie2012-03-035-6/+40
|\ \ \ | | |/ | |/| | | | | | | | | | | | | Conflicts: OpenSim/Framework/Servers/VersionInfo.cs OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs OpenSim/Region/Framework/Scenes/ScenePresence.cs
| * | Move SenseRepeaters.Count check inside the SenseRepeatListLock.Justin Clark-Casey (justincc)2012-03-021-4/+4
| | | | | | | | | | | | No methods in the List class are thread safe in the MS specification/documentation
| * | lock SenseRepeatListLock when added a new sensor during script reconstitution.Justin Clark-Casey (justincc)2012-03-021-1/+3
| | | | | | | | | | | | | | | This is already being done in the other place where a sensor is added. Adding a sensor whilst another thread is iterating over the sensor list can cause a concurrency exception.
| * | Adds an OSSL command for regular expression-based string replacement. ParametersMic Bowman2012-03-013-0/+32
| | | | | | | | | | | | | | | | | | are osReplaceString(string source, string patter, string replace, integer count, integer start) The count parameter specifies the total number of replacements to make, -1 makes all replacements.
| * | Fix indexing on string trimBlueWall2012-03-011-1/+1
| | | | | | | | | | | | | | | | | | Thanks to zadark for pointing this out, smxy for deciphering the ?: operator and Plugh for the fix \o/ yay for IRC