aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Look up the NPC module when the SensorRepeat class is created, rather than ↵Justin Clark-Casey (justincc)2012-08-011-5/+6
| | | | on every single sensor sweep.
* Resolve a deadlock between INPCModule and SensorRepeat by replacing the ↵Justin Clark-Casey (justincc)2012-07-311-35/+43
| | | | | | | | SensorRepeat list with a new list on add/removes rather than locking it for the duration of the sensor sweep. A deadlock was observed today where NPC removal on a script thread would lock the NPC list and then try to lock the sensor list via scripted attachment removal. Concurrently, the sensor sweep thread would lock the sensor list and then try to lock the NPC list to check NPC status. This commit resolves the deadlock by replacing the sensor list on update rather than locking it for the duration of the sweep.
* As per opensim-dev mailing list conversation, introduce OS_NPC constant for ↵Justin Clark-Casey (justincc)2012-07-201-2/+3
| | | | | | | | | use with llSensor() This same constant will later be used with llGetDetectedType(). This constant has a different name from NPC to avoid possible conflict with future LSL changes. This constant has a different value to try and avoid unnecessary conflict with future constants that may use the same value. Using the 'NPC' constant with llSensor() will remain valid but is deprecated.
* Add regression TestDetachScriptedAttachmentToInventory()Justin Clark-Casey (justincc)2012-07-111-2/+6
| | | | This currently only does a relatively crude check for a ScriptState node in the serialized xml
* minor: style adjustments in SensorRepeat, mainly related to patch from stoehrJustin Clark-Casey (justincc)2012-04-271-3/+4
|
* Fixing wrong position of llSensor, SensePoint wasnt following the rotation ↵Stefan_Boom2012-04-271-8/+22
| | | | of the root prim.
* Add sensor, dataserver requests, timer and listener counts to "xengine ↵Justin Clark-Casey (justincc)2012-03-064-11/+44
| | | | | | status" command. This is for diagnostic purposes.
* 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.
* Fix some logic mistakes where firstly osNpcCreate() without options was ↵Justin Clark-Casey (justincc)2012-02-161-1/+16
| | | | | | creating npcs sensed as agents and secondly the OS_NPC_SENSE_AS_AGENT option was having the opposite effect. Hopefully makes progress on addressing http://opensimulator.org/mantis/view.php?id=5872
* Fix an npc delete race condition with LSL sensors where an initial presence ↵Justin Clark-Casey (justincc)2012-02-101-9/+20
| | | | | | | check could succeed but then the npc removed before the subequent npc check. The resulting null would cause an exception. We now check for null before looking at SenseAsAgent. Hopefully fixes http://opensimulator.org/mantis/view.php?id=5872
* Add OS_NPC_SENSE_AS_AGENT option to osNpcCreate().Justin Clark-Casey (justincc)2012-01-281-2/+7
| | | | | This allows NPCs to be sensed as agents by LSL sensors rather than as a specific NPC type (which is currently an OpenSimulator-only extension). Wiki doc on this and other recent NPC functions will follow soon
* Allow all NPCs to show up on sensors as all osNpc* script methods now check ↵Justin Clark-Casey (justincc)2012-01-121-6/+9
| | | | | | for ownership permission before executing. As per #opensim-dev irc discussion.
* Add osNpcCreateOwned to create an owned NPC. Those can be sensed only by the ↵Melanie2012-01-061-1/+19
| | | | owner, can be destroyed only by the owner and only the owner can save their appearance. Added "NPC" as a flag to llSensor to sense NPCs and exclude them from "AGENT" results.
* When removing an LSL sensor for a script (e.g. through llResetScript() or ↵Justin Clark-Casey (justincc)2011-11-261-1/+1
| | | | | | state change), don't also remove sensors for other scripts in the same prim. Hopefully fixes http://opensimulator.org/mantis/view.php?id=4448 and http://opensimulator.org/mantis/view.php?id=4452
* Rename ForEachAvatar back to ForEachScenePresence. The other changesDan Lake2011-11-031-2/+2
| | | | | | from previous commit which sort out which iterator is used are left intact. A discussion is needed as to what constitutes an avatar vs a ScenePresence.
* Renamed ForEachRootScenePresence to ForEachAvatar. Cleaned up calls toDan Lake2011-11-031-2/+2
| | | | | | | | | | | | | | the 3 iteration functions so more of them are using the correct iteration for the action they are performing. The 3 iterators that seem to fit all actions within OpenSim at this time are: ForEachAvatar: Perform an action on all avatars (root presences) ForEachClient: Perform an action on all clients (root or child clients) ForEachRootClient: Perform an action on all clients that have an avatar There are still a dozen places or so calling the old ForEachScenePresence that will take a little more refactoring to eliminate.
* refactor: move SOP.IsAttachment and AttachmentPoint up into SOG to avoid ↵Justin Clark-Casey (justincc)2011-08-271-4/+4
| | | | pointless duplication of identical values
* refactor: simplify SOP.AttachedAvatar into SOG.AttachedAvatarJustin Clark-Casey (justincc)2011-08-261-2/+2
| | | | This does a tiny bit to reduce code complexity, memory requirement and the cpu time of pointlessly setting this field to the same value in every SOP
* If an llSensor() is in an attachment, make the detection cone face in the ↵Justin Clark-Casey (justincc)2011-06-031-1/+10
| | | | | | | direction of the avatar, not the relative rotation of the attachment towards the avatar. This is effectively a copy/paste from 459323a, which should be refactored sometime. This seems the obvious problem from field reports but I have not tested the fix myself. Feedback welcome.
* Add support for the new display name related functions in LSL. This does notMelanie2011-04-081-4/+22
| | | | | | implement the display names functionality as such, but it allows scripts that are display name aware to function as if the display name were implemented and set to the avatar name.
* Formatting cleanup.Jeff Ames2010-09-121-2/+2
|
* First pass at cleaning up thread safety in EntityManager and SceneGraphJohn Hurliman2010-09-101-1/+1
|
* Return agents when angle is PIMelanie2010-05-101-0/+4
| | | | Fixes Mantis #4703
* Make the detection cone in attachments face in the direction of the avatar,Melanie2010-04-211-0/+9
| | | | not the relative rotation of the attachment towards the avatar.
* Renamed TryGetAvatar to TryGetScenePresence on SceneManager, SceneBase, ↵Dan Lake2010-03-191-1/+1
| | | | Scene and SceneGraph. This was the only change in this patch to keep it isolated from other recent changes to the same set of files.
* Cleaned up access to scenepresences in scenegraph. GetScenePresences and ↵Dan Lake2010-03-191-57/+36
| | | | GetAvatars have been removed to consolidate locking and iteration within SceneGraph. All callers which used these to then iterate over presences have been refactored to instead pass their delegates to Scene.ForEachScenePresence(Action<ScenePresence>).
* OpenSim/Framework/Communications/Cache deleted. LibraryRootFolder deleted.Diva Canto2010-01-111-1/+1
|
* Make locking of timers and listeners in script related functions consistentJustin Clark-Casey (justincc)2009-11-271-1/+4
| | | | | See http://opensimulator.org/mantis/view.php?id=4316 Thanks KittyLiu!
* Inconsistent locking of SenseRepeaters in Script Engine.unknown2009-10-231-8/+11
| | | | | | When I attempt to 'save oar' on a region with thousands of scripts with timers, I get a NullReferenceException every time. The problem comes from inconsistent locking in SensorRepeat.cs of the SenseRepeaters List. It is iterated and modified in many places and these places are all wrapped in a lock except in the GetSerializationData(). This is the function throwing the exception because an item in the list becomes null during iteration. The attached patch locks SenseRepeatListLock in GetSerializationData()
* Experimental change to use an immutable array for iterating ScenePresences, ↵John Hurliman2009-10-231-6/+7
| | | | avoiding locking and copying the list each time it is accessed
* Minor: Change OpenSim to OpenSimulator in older copyright headers and ↵Jeff Ames2009-06-016-6/+6
| | | | LICENSE.txt.
* * Apply http://opensimulator.org/mantis/view.php?id=3406Justin Clarke Casey2009-04-071-0/+2
| | | | | | | * Makes Second Life environment sensor ranges and maximum response number configurable * Thanks Intimidated
* Update svn properties, add copyright header, formatting cleanup.Jeff Ames2009-03-311-1/+0
|
* * Apply http://opensimulator.org/mantis/view.php?id=3311Justin Clarke Casey2009-03-181-10/+22
| | | | | | | * Store script timers in a dictionary rather than a list to make unset much more efficient * Thanks dslake
* Mantis#3218. Thank you kindly, TLaukkan (Tommil) for a patch that:Charles Krinke2009-02-222-2/+2
| | | | | | | | | * Added log4net dependency to physxplugin in prebuild.xml. * Added missing m_log fields to classes. * Replaced Console.WriteLine with appropriate m_log.Xxxx * Tested that nant test target runs succesfully. * Tested that local opensim sandbox starts up without errors.
* Refactor log4net logger handling in script engine. (#3148)Jeff Ames2009-02-221-1/+2
|
* this is step 2 of 2 of the OpenSim.Region.Environment refactor.Dr Scofield2009-02-103-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NOTHING has been deleted or moved off to forge at this point. what has happened is that OpenSim.Region.Environment.Modules has been split in two: - OpenSim.Region.CoreModules: all those modules that are either directly or indirectly referenced from other OpenSim packages, or that provide functionality that the OpenSim developer community considers core functionality: CoreModules/Agent/AssetTransaction CoreModules/Agent/Capabilities CoreModules/Agent/TextureDownload CoreModules/Agent/TextureSender CoreModules/Agent/TextureSender/Tests CoreModules/Agent/Xfer CoreModules/Avatar/AvatarFactory CoreModules/Avatar/Chat/ChatModule CoreModules/Avatar/Combat CoreModules/Avatar/Currency/SampleMoney CoreModules/Avatar/Dialog CoreModules/Avatar/Friends CoreModules/Avatar/Gestures CoreModules/Avatar/Groups CoreModules/Avatar/InstantMessage CoreModules/Avatar/Inventory CoreModules/Avatar/Inventory/Archiver CoreModules/Avatar/Inventory/Transfer CoreModules/Avatar/Lure CoreModules/Avatar/ObjectCaps CoreModules/Avatar/Profiles CoreModules/Communications/Local CoreModules/Communications/REST CoreModules/Framework/EventQueue CoreModules/Framework/InterfaceCommander CoreModules/Hypergrid CoreModules/InterGrid CoreModules/Scripting/DynamicTexture CoreModules/Scripting/EMailModules CoreModules/Scripting/HttpRequest CoreModules/Scripting/LoadImageURL CoreModules/Scripting/VectorRender CoreModules/Scripting/WorldComm CoreModules/Scripting/XMLRPC CoreModules/World/Archiver CoreModules/World/Archiver/Tests CoreModules/World/Estate CoreModules/World/Land CoreModules/World/Permissions CoreModules/World/Serialiser CoreModules/World/Sound CoreModules/World/Sun CoreModules/World/Terrain CoreModules/World/Terrain/DefaultEffects CoreModules/World/Terrain/DefaultEffects/bin CoreModules/World/Terrain/DefaultEffects/bin/Debug CoreModules/World/Terrain/Effects CoreModules/World/Terrain/FileLoaders CoreModules/World/Terrain/FloodBrushes CoreModules/World/Terrain/PaintBrushes CoreModules/World/Terrain/Tests CoreModules/World/Vegetation CoreModules/World/Wind CoreModules/World/WorldMap - OpenSim.Region.OptionalModules: all those modules that are not core modules: OptionalModules/Avatar/Chat/IRC-stuff OptionalModules/Avatar/Concierge OptionalModules/Avatar/Voice/AsterixVoice OptionalModules/Avatar/Voice/SIPVoice OptionalModules/ContentManagementSystem OptionalModules/Grid/Interregion OptionalModules/Python OptionalModules/SvnSerialiser OptionalModules/World/NPC OptionalModules/World/TreePopulator
* This changeset is the step 1 of 2 in refactoringDr Scofield2009-02-064-22/+22
| | | | | | | | | | | | | | | | | | | | OpenSim.Region.Environment into a "framework" part and a modules only part. This first changeset refactors OpenSim.Region.Environment.Scenes, OpenSim.Region.Environment.Interfaces, and OpenSim.Region.Interfaces into OpenSim.Region.Framework.{Interfaces,Scenes} leaving only region modules in OpenSim.Region.Environment. The next step will be to move region modules up from OpenSim.Region.Environment.Modules to OpenSim.Region.CoreModules and then sort out which modules are really core modules and which should move out to forge. I've been very careful to NOT BREAK anything. i hope i've succeeded. as this is the work of a whole week i hope i managed to keep track with the applied patches of the last week --- could any of you that did check in stuff have a look at whether it survived? thx!
* Speed improvement mostly when sensing objects especially noticeable in a sim ↵idb2009-01-311-22/+69
| | | | with many objects.
* Remove the addition of the region coordinates to obtain the absolute ↵idb2009-01-251-10/+6
| | | | | | | position of a prim/person on the grid. I believe it is superfluous and removes needed decimal places for short range sensors. Fixes Manitis #3046
* * refactor: Rip out SOP inventory from the partial into a separate classJustin Clarke Casey2008-11-211-1/+1
| | | | | | | | * SceneObjectPartInventory.cs isn't a particularly good name but it's probably not got a long life * A proper inventory interface to follow * Parallel changes for other inventory partial classes to follow at a later date
* Refactor IEventReceiver back into IScriptEngineMelanie Thielker2008-11-083-4/+4
|
* Thanks, idb, for a patch that fixes Mantis#2400:Homer Horwitz2008-10-151-0/+4
| | | | | | llSensor() range ignored with AGENT.
* * Remove warnings, including one which pointed out a bugJustin Clarke Casey2008-10-131-1/+0
|
* * Apply http://opensimulator.org/mantis/view.php?id=2373Justin Clarke Casey2008-10-091-73/+242
| | | | | | | * Many llSensor() improvements, though sensoring isn't perfect yet * thanks idb!
* Mantis#1906. Thank you kindly, Idb for a patch that:Charles Krinke2008-10-081-18/+1
| | | | | | Removed cache accesses to obtain sensed object/avatar name, it is already available.
* Convergence is almost complete. This brings the diff between the API to < 10kMelanie Thielker2008-09-255-31/+13
| | | | | | | | and makes it use a common set of types in both engine. Fixes the issues with running both engines and HTTP requests / listens / timers etc.. Also fixes a couple of minor Scene issues and a CTB by nullref.
* Decouple AsyncCommands from XEngine and the script instance. MakeMelanie Thielker2008-09-242-6/+6
| | | | | | | | all methods needed outside the API ststic. Async command processing is now wholly internal to the API. This sets the stage for the next convergence step.
* * minor: method documentationJustin Clarke Casey2008-09-161-2/+2
|