aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Implement osIsNpc(key npc):integer. This return TRUE if the given key ↵Justin Clark-Casey (justincc)2012-01-273-0/+29
| | | | 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-274-0/+83
|\
| * llManageEstateAccess implementation ↵PixelTomsen2012-01-264-0/+83
| | | | | | | | | | | | 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-273-19/+55
|/ | | | | | | 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.
* Re-enable error logging associated with assembly and script loading failure ↵Justin Clark-Casey (justincc)2012-01-261-9/+19
| | | | | | in ScriptInstance. Swallowing exceptions just leads to more mysterious failures later on.
* 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-253-0/+18
| | | | | | http://wiki.secondlife.com/wiki/LlGetParcelMusicURL Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
* Add osGetGridHomeURI functionBlueWall2012-01-193-0/+28
| | | | Add osGetHomeURI function to the family of osGetGrid* functions. Returns the SRV_HomeURI setting from the [LoginService] configuration.
* Add function osGetGridCustomBlueWall2012-01-173-1/+34
| | | | 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-133-12/+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 missing assert to confirm owner delete succeeded to the end of ↵Justin Clark-Casey (justincc)2012-01-121-0/+2
| | | | TestOsNpcRemoveOwned()
* Add api level test for removing an owned npcJustin Clark-Casey (justincc)2012-01-121-2/+55
|
* Add ossl level test for removing an unowned npcJustin Clark-Casey (justincc)2012-01-121-0/+115
|
* Add osNpcCreate(string firstname, string lastname, LSL_Vector position, ↵Justin Clark-Casey (justincc)2012-01-124-0/+15
| | | | | | | | | | | 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
|
* fix a typo "osNpcCreated" to "osNpcCreate" in OSSL threat level checknebadon2012-01-061-1/+1
|
* Fix some syntax issuesMelanie2012-01-062-4/+4
|
* Add osNpcPlayAnimation and osNpcStopAnimation which respect ownership as wellMelanie2012-01-063-0/+56
|
* Add osNpcCreateOwned to create an owned NPC. Those can be sensed only by the ↵Melanie2012-01-065-6/+48
| | | | 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.
* Fixed llAngleBetween() to allow denormal rotationsJohn Cochran2012-01-062-20/+41
|
* Add script instruction count back to llRot2Euler. Other minor ↵Justin Clark-Casey (justincc)2012-01-062-16/+32
| | | | formatting/doc changes.
* Replaced llRot2Euler function.John Cochran2012-01-062-36/+92
| | | | | | | | | | | | | | | | | | | | The original function suffered from unexpected results due to rounding errors. An error of only 1 or 2 ulps would cause the code to not detect a singularity at Y rotation +/- PI/2 and take the non-singularity code path. The replacement code does not suffer from wildly inaccurate results at the +/- PI/2 singularity. The check in the code for the singularity isn't strictly needed, but gives more consistent results At the singularity, the X and Z rotations add. The if check simply forces the X rotation to be zero so the entirety of the X+Z rotation is carried by Z. Additionally, the test code has been updated to include test cases that caused the old code to fail. The test algorithm is also updated to perform a more meaningful test. The original code checked if the values against expected values. This could fail at +/- PI rotations since a rotation around an axis by PI causes the identical effect as a rotation by -PI. The new test code checks that the returned angles can be used to recreate a quaternion that causes the same rotation.
* Add ThreatLevel.NoAccess to OSSL. This allows to enable OSSL without enablingMelanie2012-01-062-1/+5
| | | | | any methods, even those without threat, automatically. It is for use with setups wanting to allow only specific methods to specific users.
* Introduce a LightShare kill packet ans send it when needed. Currently onlyMelanie2011-12-281-0/+1
| | | | understood by AVN v0.3
* Cleaned up ScenePresence parameters for Flying, WasFlying, FlyingOld and ↵Dan Lake2011-12-121-3/+1
| | | | IsColliding
* Mantis 5816: osParseJSON Decoding Problemsnebadon2011-12-113-191/+72
| | | | | | | osParseJSON uses hand-crafted decoding that has two issues * does not seem to handle top-level JSON lists * does not seem to handle unicode text thanks otakup0pe!
* Fix CHANGED_TEXTURE and CHANGED_COLOR.Melanie2011-12-051-18/+18
|
* Use agent.Animator.CurrentMovementAnimation in llGetAgentInfo() rather than ↵Justin Clark-Casey (justincc)2011-12-031-1/+1
| | | | asking for a new determination
* Rename ScenePresenceAnimator.GetMovementAnimation() -> ↵Justin Clark-Casey (justincc)2011-12-031-1/+1
| | | | DetermineMovementAnimation() for better code readability
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimBlueWall2011-11-262-2/+2
|\
| * 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
| * minor: remove mono compiler warningJustin Clark-Casey (justincc)2011-11-261-1/+1
| |
* | Add missing property to llGetLinkPrimitiveParamsBlueWall2011-11-262-0/+4
|/
* Rename ForEachAvatar back to ForEachScenePresence. The other changesDan Lake2011-11-033-11/+11
| | | | | | 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-033-15/+14
| | | | | | | | | | | | | | 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.
* Merge branch 'master' of git://opensimulator.org/git/opensimDan Lake2011-11-021-315/+362
|\
| * Restore the recursive calling of PRIM_LINK_TARGET because the version I madeMelanie2011-11-021-327/+334
| | | | | | | | breaks LINK_SET et al.
| * Some positioning fixes from AVN trunkMelanie2011-11-021-1/+42
| |
| * Streamline PRIM_LINK_TARGET, eliminating a recursion and a failure scenarioMelanie2011-11-021-4/+3
| |
* | Changes UpdateFlag in SOP to an enumeration of NONE, TERSE and FULL.Dan Lake2011-11-021-9/+6
|/ | | | | | | | | | | | | | | | | UpdateFlag is now referenced/used only within SOP and SOG. Outsiders are using ScheduleFullUpdate, ScheduleTerseUpdate or ClearUpdateSchedule on SOP consistently now. Also started working toward eliminating those calls to ScheduleFullUpdate, ScheduleTerseUpdate or ClearUpdateSchedule from outside SOP in favor of just setting properties on SOP and let SOP decide if an update should be scheduled. This consolidates the update policy within SOP and the client rather than everywhere that makes changes to SOP. Some places forget to call update while others call it multiple times, "just to be sure". UpdateFlag and Schedule*Update will both be made private shortly. UpdateFlag is intended to be transient and internal to SOP so it has been removed from XML serializer for SOPs.
* Remove completely unused SOG.Rotation parameterJustin Clark-Casey (justincc)2011-10-291-1/+1
| | | | We always use SOP.Rotation instead