Commit Graph

1420 Commits

Author SHA1 Message Date
Mic Bowman
e1a2c44ebe Cleaned up the LookAt code in SOP and SOG. Added support for incrementally
rotating physical objects. This does not use physics. Currently the rate
of change is determined as 1 / (PI * Strength).
2012-01-13 14:48:56 -08:00
Mic Bowman
adea92f8b7 Fix llRotLookAt and llLookAt for non-physical objects. Per conversation
with Melanie and Nebadon, SL behavior seems to be that non physical
objects snap to the request rotation.
2012-01-13 11:37:17 -08:00
Melanie
9dc7fef4f6 Merge branch 'master' into careminster 2012-01-13 02:27:20 +00:00
Justin Clark-Casey (justincc)
3b59af2225 Change the default osNpcCreate() to create an 'owned' npc rather than an '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.
2012-01-13 00:03:39 +00:00
Justin Clark-Casey (justincc)
6e7154d55c Removing osNpcCreateOwned(). Please use osNpcCreate(string user, string 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.
2012-01-13 00:00:18 +00:00
Melanie
c7757d1038 Fix typo 2012-01-12 23:07:38 +01:00
Melanie
aa2cde2493 Disable unowned NPCs 2012-01-12 23:04:38 +01:00
Melanie
cf166d3f1e Merge branch 'master' into careminster 2012-01-12 23:22:55 +00:00
Justin Clark-Casey (justincc)
c4972e7734 Add osNpcCreate(string firstname, string lastname, LSL_Vector position, 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.
2012-01-12 19:37:30 +00:00
Justin Clark-Casey (justincc)
d27dd3714f Allow all NPCs to show up on sensors as all osNpc* script methods now check for ownership permission before executing.
As per #opensim-dev irc discussion.
2012-01-12 19:19:34 +00:00
Justin Clark-Casey (justincc)
ba3491c76e Add permissions checks for owned avatars to all other osNpc* functions.
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.
2012-01-12 19:06:46 +00:00
Justin Clark-Casey (justincc)
b47c0d7e51 refactor: Move existing npc owner checks to NPCModule.CheckPermissions() methods and expose on interface for external calls. 2012-01-12 18:14:19 +00:00
Melanie
4bf2e19898 Merge branch 'master' into careminster 2012-01-07 18:11:21 +00:00
Melanie
32eb7ddc37 Fix threat level setting on osNpcPlayAnimation 2012-01-07 18:09:53 +00:00
Melanie
94fa6cb071 Fix threat level setting on osNpcPlayAnimation 2012-01-07 12:29:59 +01:00
Melanie
69c0f252a4 Force the group tag of NPCs to "- NPC -" unless the name is completely blank. 2012-01-07 12:05:42 +01:00
nebadon
58cb7cd084 fix a typo "osNpcCreated" to "osNpcCreate" in OSSL threat level check 2012-01-06 23:07:48 -07:00
Melanie
38ae479249 Make sure to prefix NPC names with "NPC:" so they can't be mistaken for users 2012-01-07 02:49:52 +01:00
Melanie
679d155a39 Fix some syntax issues 2012-01-06 23:08:18 +00:00
Melanie
9668992493 Add osNpcPlayAnimation and osNpcStopAnimation which respect ownership as well 2012-01-06 22:59:50 +00:00
Melanie
7518b075b7 Add osNpcCreateOwned to create an owned NPC. Those can be sensed only by the 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. 2012-01-06 22:35:06 +00:00
Melanie
70157a4ec5 Fix some syntax issues 2012-01-06 22:33:51 +01:00
Melanie
a47aa46962 Add osNpcPlayAnimation and osNpcStopAnimation which respect ownership as well 2012-01-06 22:59:08 +00:00
John Cochran
ff5a83d192 Fixed llAngleBetween() to allow denormal rotations 2012-01-06 21:14:42 +00:00
Justin Clark-Casey (justincc)
8c445dac67 Add script instruction count back to llRot2Euler. Other minor formatting/doc changes. 2012-01-06 21:12:22 +00:00
John Cochran
eb9bf71726 Replaced llRot2Euler function.
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.
2012-01-06 21:08:54 +00:00
Melanie
de9d6096a5 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2012-01-06 21:37:01 +01:00
Melanie
11c48ac807 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
	OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiTest.cs
2012-01-06 21:41:36 +00:00
Melanie
f1846045a6 Add osNpcCreateOwned to create an owned NPC. Those can be sensed only by the 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. 2012-01-06 21:34:43 +01:00
Melanie
81cf774fe8 Merge branch 'master' into careminster 2012-01-06 17:38:53 +00:00
Melanie
fbb2a7e90d Add ThreatLevel.NoAccess to OSSL. This allows to enable OSSL without enabling
any methods, even those without threat, automatically. It is for use with
setups wanting to allow only specific methods to specific users.
2012-01-06 17:37:22 +00:00
Melanie
5b52440e61 Introduce a LightShare kill packet ans send it when needed. Currently only
understood by AVN v0.3
2011-12-28 09:24:02 +00:00
Melanie
41f6d6a5ff Introduce a LightShare kill packet ans send it when needed. Currently only
understood by AVN v0.3
2011-12-24 16:18:01 +01:00
Melanie
04806e02ed Add PRIM_POS_LOCAL as an alias to PRIM_POSITION for setting the position.
For SL compatibility only
2011-12-24 01:40:09 +01:00
Melanie
c4f1906b0a Make raycast more efficient by checking exclusion flags earlier 2011-12-17 12:57:20 +01:00
Melanie
8a9a8ed5c9 Fix hit testing link sets properly. Fix raycasting for LSL. 2011-12-17 12:31:25 +01:00
Dan Lake
c34ab0ee66 Cleaned up ScenePresence parameters for Flying, WasFlying, FlyingOld and IsColliding 2011-12-12 02:43:38 -08:00
Melanie
52a4dbccbe Merge branch 'master' into careminster
Conflicts:
	OpenSim/Framework/RegionInfo.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-12-12 11:42:22 +00:00
nebadon
8ae824ff09 Mantis 5816: osParseJSON Decoding Problems
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!
2011-12-11 23:25:12 -07:00
Melanie
07c26111af Fix llGetLinkKey to report avatars properly 2011-12-09 16:36:25 +01:00
Melanie
d6486fe14a Fix task inventory giving 2011-12-07 00:43:59 +01:00
Melanie
47d0a50a19 Add the proper result code as per the LL announcement for llTransferLindenDollars 2011-12-05 20:02:27 +01:00
Melanie
66f4ce354f Fix CHANGED_TEXTURE and CHANGED_COLOR. 2011-12-05 19:01:14 +00:00
Melanie
cc482ee865 Merge branch 'bigmerge' of ssh://melanie@3dhosting.de/var/git/careminster into bigmerge 2011-12-05 18:54:31 +00:00
Melanie
2a8a46a32d Fix CHANGED_TEXTURE and CHANGED_COLOR. 2011-12-05 18:32:40 +01:00
Melanie
5ab536a1e9 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-12-05 17:10:51 +00:00
Melanie
68bdd0b7fe Fix setting seated avatar position and make llSameGroup work as in SL. 2011-12-05 15:26:49 +01:00
Justin Clark-Casey (justincc)
5bbfb082dd Use agent.Animator.CurrentMovementAnimation in llGetAgentInfo() rather than asking for a new determination 2011-12-03 00:33:24 +00:00
Justin Clark-Casey (justincc)
5ba8ca5662 Rename ScenePresenceAnimator.GetMovementAnimation() -> DetermineMovementAnimation() for better code readability 2011-12-03 00:27:21 +00:00
Melanie
797982ee11 Implement llTransferLindenDollars 2011-12-01 13:30:10 +01:00