aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Api/Implementation (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Two new scripting functions osInviteToGroup(userID) and ↵Snoopy Pfeffer2012-03-271-0/+69
| | | | osEjectFromGroup(userID) that invite/eject users to/from groups the object containing the script is set to. These functions also work for closed groups.
* User level based restrictions for HyperGrid teleports, asset uploads, group ↵Snoopy Pfeffer2012-03-271-0/+3
| | | | creations and getting contacted from other grids. Incoming HyperGrid teleports can also be restricted to local users.
* Add a hust UUID to the script invocationsMelanie2012-03-261-1/+10
|
* Add support for key, vector, rotation and list types for bothMic Bowman2012-03-241-57/+188
| | | | | | arguments and return values to the modInvoke family of functions. See http://opensimulator.org/wiki/OSSL_Script_Library/ModInvoke
* refactor: Rename AvatarAnimations -> DefaultAvatarAnimations for code ↵Justin Clark-Casey (justincc)2012-03-221-3/+3
| | | | clarity since non-default animations are handled completely separately from this class
* Instead of loading default avatar animations in both SLUtil and ↵Justin Clark-Casey (justincc)2012-03-211-3/+3
| | | | | | | | AvatarAnimations, load just in AvatarAnimations instead. This lets us remove the dependency of OpenSim.Framework.dll on data/avataranimations.xml, which is not necessary for ROBUST. This commit also takes care of the odd situation where animations are stored and used internally with uppercase names (e.g. "STAND") but scripts refer to them with lowercase names (e.g. "sit").
* Add osGetInventoryDesc() as per http://opensimulator.org/mantis/view.php?id=5927Justin Clark-Casey (justincc)2012-03-171-0/+23
| | | | | This allows one to get description data for a given prim inventory item. Thanks MarcelEdward and GuduleLapointe!
* Adds a new script command 'modInvoke' to invoke registered functionsMic Bowman2012-03-151-0/+109
| | | | | | | | | 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", ...)
* Added osGetGridGatekeeperURI()Diva Canto2012-03-101-0/+14
|
* 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
|
* Add sensor, dataserver requests, timer and listener counts to "xengine ↵Justin Clark-Casey (justincc)2012-03-065-12/+96
| | | | | | 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.
* Adds an OSSL command for regular expression-based string replacement. ParametersMic Bowman2012-03-011-0/+25
| | | | | | 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
* PRIM_SCULPT_FLAG_INVERT, PRIM_SCULPT_FLAG_MIRROR implementedPixelTomsen2012-02-251-4/+6
| | | | http://opensimulator.org/mantis/view.php?id=5763
* llGetLinkMedia, llSetLinkMedia, llClearLinkMedia implementation mantis: ↵PixelTomsen2012-02-241-23/+83
| | | | http://opensimulator.org/mantis/view.php?id=5756 http://opensimulator.org/mantis/view.php?id=5755 http://opensimulator.org/mantis/view.php?id=5754
* Stop spurious scene loop startup timeout alarms for scenes with many prims.Justin Clark-Casey (justincc)2012-02-241-1/+3
| | | | | | | | On the first frame, all startup scene objects are added to the physics scene. This can cause a considerable delay, so we don't start raising the alarm on scene loop timeouts until the second frame. This commit also slightly changes the behaviour of timeout reporting. Previously, a report was made for the very first timed out thread, ignoring all others until the next watchdog check. Instead, we now report every timed out thread, though we still only do this once no matter how long the timeout.
* In osSetSpeed(), if no avatar for a uuid is found then don't attempt to set ↵Justin Clark-Casey (justincc)2012-02-241-1/+3
| | | | speed.
* llLinkSitTarget implementation http://wiki.secondlife.com/wiki/LlLinkSitTargetPixelTomsen2012-02-241-5/+27
|
* Fix:LINK_ROOT flag for llGetLinkName() by SinglePrimPixelTomsen2012-02-211-1/+1
|
* Make osNpcStopAnimation() call AvatarStopAnimation() rather than ↵Justin Clark-Casey (justincc)2012-02-171-1/+1
| | | | AvatarPlayAnimation()
* Fix some logic mistakes where firstly osNpcCreate() without options was ↵Justin Clark-Casey (justincc)2012-02-162-3/+18
| | | | | | 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
* Replace ParcelAccessEntry with a new struct, LandAccessEntry, which moreMelanie2012-02-021-31/+68
| | | | | | accurately reflects the data sent by the viewer. Add times bans and the expiration of timed bans. Warning: Contains a Migration (and nuts)
* Fix:llSetText - limited text to a maximum of 254 charsPixelTomsen2012-01-311-3/+3
| | | | | | mantis: http://opensimulator.org/mantis/view.php?id=5867 Signed-off-by: nebadon <michael@osgrid.org>
* Fix llEdgeOfWorld functionality - see mantis ↵Garmin Kawaguichi2012-01-291-1/+1
| | | | | | http://opensimulator.org/mantis/view.php?id=5865 Signed-off-by: nebadon <michael@osgrid.org>
* Add OS_NPC_SENSE_AS_AGENT option to osNpcCreate().Justin Clark-Casey (justincc)2012-01-282-6/+17
| | | | | 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
* Increment LPS script stat for OSSL functions that were not already doing thisJustin Clark-Casey (justincc)2012-01-271-2/+41
|
* Implement osIsNpc(key npc):integer. This return TRUE if the given key ↵Justin Clark-Casey (justincc)2012-01-271-0/+17
| | | | belongs to an NPC in the region. FALSE if not or if the NPC module isn't present.
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2012-01-271-0/+69
|\
| * llManageEstateAccess implementation ↵PixelTomsen2012-01-261-0/+69
| | | | | | | | | | | | http://wiki.secondlife.com/wiki/LlManageEstateAccess Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
* | Implement osNpcGetOwner(key npc):key. This returns the owner for an 'owned' ↵Justin Clark-Casey (justincc)2012-01-271-0/+21
|/ | | | | | | NPC, the npc's own key for an 'unowned' NPC and NULL_KEY is the input key was not an npc. llGetOwnerKey() could also be extended but this does not allow one to distinguish between an unowned NPC and some other result (e.g. 'no such object' if NULL_KEY is the return. Also, any future extensions to LSL functions by Linden Lab are unpredictable and OpenSim-specific extensions could clash.
* refactor: decompose most of RezScript() into RezScriptFromAgentInventory(), ↵Justin Clark-Casey (justincc)2012-01-251-1/+2
| | | | RezNewScript() and rename one RezScript() to RezScriptFromPrim()
* llGetParcelMusicURL implementation ↵Pixel Tomsen2012-01-251-0/+12
| | | | | | http://wiki.secondlife.com/wiki/LlGetParcelMusicURL Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
* Add osGetGridHomeURI functionBlueWall2012-01-191-0/+22
| | | | Add osGetHomeURI function to the family of osGetGrid* functions. Returns the SRV_HomeURI setting from the [LoginService] configuration.
* Add function osGetGridCustomBlueWall2012-01-171-1/+28
| | | | Add function osGetGridCustom to take an argument for the GridInfo kpv to retrieve from the GridInfoService
* Update osGetGrid**** functionsBlueWall2012-01-171-3/+69
| | | | The osGetGrid**** functions will now get the grid settings from the GridInfoService. Set the GridInfoURI in your ./bin/config-include/GridCommon.ini [GridInfo] section.
* commented out redundant land owner checks for osTeleportAgent there isnebadon2012-01-141-14/+24
| | | | | | no need for these checks just use Allow_osTeleportAgent = PARCEL_OWNER also increased function to severe threat level to make it harder to accidently enable it for everyone.
* Register the UrlModule for script engine events OnScriptRemoved and ↵Justin Clark-Casey (justincc)2012-01-141-5/+0
| | | | | | | | | OnObjectRemoved just once in the UrlModule itself, rather than repeatedly for every script. Doing this in every script is unnecessary since the event trigger is parameterized by the item id. All that would happen is 2000 scripts would trigger 1999 unnecessary calls, and a large number of initialized scripts may eventually trigger a StackOverflowException. Registration moved to UrlModule so that the handler is registered for all script engine implementations. This required moving the OnScriptRemoved and OnObjectRemoved events (only used by UrlModule in core) from IScriptEngine to IScriptModule to avoid circular references.
* Cleaned up the LookAt code in SOP and SOG. Added support for incrementallyMic Bowman2012-01-131-4/+4
| | | | | rotating physical objects. This does not use physics. Currently the rate of change is determined as 1 / (PI * Strength).
* Fix llRotLookAt and llLookAt for non-physical objects. Per conversationMic Bowman2012-01-131-7/+23
| | | | | with Melanie and Nebadon, SL behavior seems to be that non physical objects snap to the request rotation.
* Change the default osNpcCreate() to create an 'owned' npc rather than an ↵Justin Clark-Casey (justincc)2012-01-131-1/+1
| | | | | | | | | | 'unowned' one. An owned NPC is one that only the original creator can manipulate and delete. An unowned NPC is one that anybody with access to the osNpc* methods and knowledge of the avatar id can manipulate. This is to correct an oversight I made in the original reimplementation where I mistakenly assumed that avatar IDs could be treated as private. I am not anticipating that many people were deliberately making use of unowned npcs due to their insecure nature. If you do need an unowned NPC please call the new overloaded osCreateNpc() function with the option OS_NPC_NOT_OWNED.
* Removing osNpcCreateOwned(). Please use osNpcCreate(string user, string ↵Justin Clark-Casey (justincc)2012-01-131-6/+0
| | | | | | name, vector position, string notecard, int options) instead with option OS_NPC_CREATOR_OWNED Please note that correct option name is OS_NPC_CREATOR_OWNED not OS_NPC_CREATE_OWNED as mistakenly put in a previous commit.
* Add osNpcCreate(string firstname, string lastname, LSL_Vector position, ↵Justin Clark-Casey (justincc)2012-01-121-0/+6
| | | | | | | | | | | string notecard, int options) variant. This will be documented soon. Options can currently be OS_NPC_CREATE_OWNED - creates a 'creator owned' avatar that will only respond to osNpc* functions made by scripts owned by the npc creator OS_NPC_NOT_OWNED - creates an avatar which will respond to any osNpc* functions that a caller has permission to make (through the usual OSSL permission mechanisms). options is being added to provide better scope for future extensibility without having to add more functions The original non-options osNpcCreate() function will continue to exist.
* 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 permissions checks for owned avatars to all other osNpc* functions.Justin Clark-Casey (justincc)2012-01-121-20/+50
| | | | This is being done outside the npc module since the check is meaningless for region module callers, who can fake any id that they like.
* refactor: Move existing npc owner checks to NPCModule.CheckPermissions() ↵Justin Clark-Casey (justincc)2012-01-121-5/+1
| | | | methods and expose on interface for external calls.
* Fix threat level setting on osNpcPlayAnimationMelanie2012-01-071-1/+1
|