Commit Graph

1118 Commits

Author SHA1 Message Date
Talun
f074739e33 Mantis 6280: llSetContentType(). An implementation.
An implimentation of llSetContentType including all of the new
constants added since the mantis was raised.
2013-06-15 00:06:03 +01:00
Talun
fc89bde044 Mantis 6108: ossetprimitiveparams temporary/phantom problem
Corrected to ensure that the target prim is updated by
osSetPrimitiveParams when setting PRIM_TEMP_ON_REZ and/or PRIM_PHANTOM
instead of the prim that the script is in.
2013-06-15 00:00:00 +01:00
dahlia
ed950e6c74 Adjust output of llRot2Axis and llRot2Angle to match domains SL(tm) uses. Addresses Mantis #0006671 2013-06-11 00:29:40 -07:00
dahlia
9d9b9d4938 llRot2Angle now checks absolute value of s rotation component before normalizing 2013-06-10 17:11:49 -07:00
dahlia
b242ead6df llRot2Axis now checks absolute value of s rotation component before normalizing. Also removed some excessive division and cleaned up a bit 2013-06-10 17:10:04 -07:00
teravus
1c7fbb86c2 Check For NaN and Infinity in llRot2Axis/Angle Fixes mantis #6669 2013-06-10 18:47:08 -05:00
Talun
7de0912a97 Mantis 5346: llAxisAngle2Rot() should normalize before computing
Corrected to agree with
http://wiki.secondlife.com/wiki/Llaxisangle2rot#Deep_Notes
to normalise the vector before computing the quaternion

Signed-off-by: dahlia <dahlia@nomail>
2013-06-10 04:13:34 -07:00
Melanie
81ad9255b5 Hook up Keyframe motion to almost everything. Failing to cross a sim border
may yield unexpected results in some cases. No database persistence yet,
2013-06-06 03:03:05 +01:00
Justin Clark-Casey (justincc)
217c7d1140 Remove unnecessary m_scenes and m_scene from AsyncCommandManager.
These were private and the sole point of use (to know when to load config for the first time) can be done by looking at script engines instead.
2013-05-31 23:00:10 +01:00
Justin Clark-Casey (justincc)
921ad8704e Lock areas of AsyncCommandManager where multiple threads could try to access/update the same static structures simultaneously.
This is possible where there is more than one scene (multiple copies of the same script engine) and/or more than one script engine being used.
These operations are not thread safe and could be leading to the exceptions/problems seen in http://opensimulator.org/mantis/view.php?id=6651
This also prevents a small race condition where more than one AsyncLSLCmdHandlerThread could be started.
2013-05-31 22:50:15 +01:00
Justin Clark-Casey (justincc)
00c1586ff8 refactor: Remove unused AsyncCommandManager.PleaseShutdown 2013-05-31 18:12:36 +01:00
Justin Clark-Casey (justincc)
46335b103e If an exception occurs in the AsyncCommandManager loop, spit it out to log rather than silently swallowing it.
This might help diagnose the cause of http://opensimulator.org/mantis/view.php?id=6651 where sometimes scripts fail to start on region start.
2013-05-30 23:51:35 +01:00
Justin Clark-Casey (justincc)
7d38f4940c Implement llSetSoundQueueing().
This is controlled by the viewer, not the server.
So as per http://wiki.secondlife.com/wiki/LlSetSoundQueueing, only two sounds can be queued per prim.
You probably need to use llPreloadSound() for best results
2013-05-22 20:01:57 +01:00
Justin Clark-Casey (justincc)
831e4c3850 Fix bug where outstanding llHTTPRequests for scripts were not being aborted when they were deleted.
This was because AsyncCommandManager was handing an item ID to IHttpRequestModule.StopHttpRequest() rather than the expected request ID.
This commit also makes the http request asynchronous using BeginGetResponse() rather than doing this by launching a new thread
so that we can more safely abort it via HttpWebRequest.Abort() rather than aborting the thread itself.
This also renames StopHttpRequest() to StopHttpRequestsForScript() since any outstanding requests are now aborted and/or removed.
2013-04-04 00:36:15 +01:00
Kevin Cozens
cbc9ae898c Added missing functionality (mainly custom headers) to llHTTPRequest. 2013-03-29 23:32:11 +00:00
Justin Clark-Casey (justincc)
13170ca627 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-03-26 20:32:22 +00:00
Justin Clark-Casey (justincc)
3f0f313a76 Make llGetLinkPrimitiveParams() and llGetPrimitiveParams() work for avatars in a linkset.
llGetPrimitiveParams() works through PRIM_LINK_TARGET
Setting via llSetLinkPrimitiveParams(), etc. not yet implemented
2013-03-26 20:25:58 +00:00
Melanie
5f4c4df227 Phase 1 of implementing a transfer permission. Overwrite libOMV's PermissionMask
with our own and add export permissions as well as a new definition for "All" as meaning "all conventional permissions" rather than "all possible permissions"
2013-03-26 03:40:06 +00:00
Melanie
5e1f651e21 Merge branch 'master' into newmultiattach
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
2013-03-18 23:31:27 +00:00
Melanie
fcecfc81bb Multiattach, part 1
Conflicts:

	OpenSim/Framework/AvatarAppearance.cs
	OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
	OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs
	OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
	OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2013-03-18 22:56:03 +00:00
Melanie
7e5d553781 Make the LSL memory functions virtual so script engines can override them if they have different memory management. 2013-03-15 23:46:49 +00:00
Justin Clark-Casey (justincc)
e25ba116a3 refactor: make llGetLinkName() and llGetLinkKey() use a common GetLinkEntity() method 2013-03-15 00:06:42 +00:00
Justin Clark-Casey (justincc)
081271e1d7 minor: remove mono compiler warnings in LSL_Api.cs 2013-03-14 23:44:16 +00:00
Justin Clark-Casey (justincc)
2fbc08d7dd refactor: minor cleanup in osGetAvatarList() 2013-03-14 23:19:18 +00:00
Justin Clark-Casey (justincc)
0ea0f8aa83 Fix bug in osCauseHealing() if called with an avatar ID for an avatar that is not in the scene. 2013-03-14 23:16:39 +00:00
Justin Clark-Casey (justincc)
56b333f301 minor: Use more compact libomv primitive constructors in osNpcGetPos() and osNpcGetRot() 2013-03-14 23:12:58 +00:00
Justin Clark-Casey (justincc)
55204ccde6 Fix minor race conditions in OSSL_Api functions where a parcel could be misidentified for moving prims. 2013-03-14 23:09:59 +00:00
Justin Clark-Casey (justincc)
f8dab4f93f refactor: Use LSL_Vector(Vector3) constructor in llCastRay() 2013-03-14 23:06:54 +00:00
Justin Clark-Casey (justincc)
ca99f418d8 refactor: Use ILandChannel.GetLandObject(Vector3) in LSL_Api rather than having to continually take intermediate Vector3s to avoid race conditions 2013-03-14 23:05:21 +00:00
Justin Clark-Casey (justincc)
c09f4ff483 Fix minor race condition in llGetCameraRot() where inconsistent information could be returned for a rotating camera 2013-03-14 22:49:08 +00:00
Justin Clark-Casey (justincc)
114fd042de Fix minor race condition in llGetCameraPos() where an inconsistent post could be returned for a moving camera 2013-03-14 22:46:27 +00:00
Justin Clark-Casey (justincc)
d4b109b4c4 Fix minor race condition in llParcelMediaCommandList() where a parcel could be misidentified for a moving prim 2013-03-14 22:45:00 +00:00
Justin Clark-Casey (justincc)
2a81eb8d45 Fix minor race conditions in LSL_Api.GetPrimParams() for PRIM_POSITION, PRIM_SIZE and PRIM_ROT_LOCAL
This function is used by all the various ll*Params() and os*Params() functions
2013-03-14 22:42:11 +00:00
Justin Clark-Casey (justincc)
b23009e480 Fix minor race condition in llGetGeometricCenter() if this was changing whilst the function was called. 2013-03-14 22:35:41 +00:00
Justin Clark-Casey (justincc)
a6f8638174 refactor: use LSL_Rotation(Quaternion) constructor in lLGetRootRotation() 2013-03-14 22:34:48 +00:00
Justin Clark-Casey (justincc)
dd6f1fc637 Fix minor race condition in llGetRootPosition() where inconsistent results could be returned for moving prims 2013-03-14 22:33:44 +00:00
Justin Clark-Casey (justincc)
e7603f98b7 Fix minor race conditions in detecting current parcel for llAddToLandPassList(), llSetParcelMusicURL() and llGetParcelMusicURL() for moving prims 2013-03-14 22:31:07 +00:00
Justin Clark-Casey (justincc)
e6eb914675 refactor: use LSL_Vector(Vector3) constructor in llGroundNormal() 2013-03-14 22:29:09 +00:00
Justin Clark-Casey (justincc)
f8c24b2a61 minor: Reuse ground LSL_Vector in llGroundSlope() rather than creating a new one. 2013-03-14 22:26:37 +00:00
Justin Clark-Casey (justincc)
3c9bea1e3f Fix minor race conditions in llTeleportAgent(), llTeleportAgentGlobalCoords(), llEjectFromLand() and llOverMyLand() where the wrong parcel could be identified for very fast moving avatars. 2013-03-14 22:22:10 +00:00
Justin Clark-Casey (justincc)
7b85279dba refactor: Use LSL_Vector(Vector3) constructor in llGetCenterOfMass() 2013-03-14 22:14:32 +00:00
Justin Clark-Casey (justincc)
ff6a16b46e Fix a minor race condition in llInstantMessage() where slightly wrong origin co-ordinates could be given for a fast moving prim 2013-03-14 22:09:05 +00:00
Justin Clark-Casey (justincc)
895aa7346f Fix minor race condition in llGetOmega() where inconsistent results could be returned (accidentally stated that commit 1774c631 was this fix).
Commit 1774c631 was actually a fix for a similar minor race condition in llGetAccel()
2013-03-14 22:07:07 +00:00
Justin Clark-Casey (justincc)
1774c631cb Fix minor race condition in llGetOmega() where a call whilst a prim was changing angular velocity could return inconsistent results 2013-03-14 22:04:11 +00:00
Justin Clark-Casey (justincc)
04e806036f refactor: Use LSL_Vector(Vector3) constructor in llGetVel() 2013-03-14 22:02:43 +00:00
Justin Clark-Casey (justincc)
ffbbe29229 refactor: Use LSL_Vector(Vector3) constructor in llGetTorque() 2013-03-14 22:01:24 +00:00
Justin Clark-Casey (justincc)
c3e081a5ca Fix minor race condition in llGetLocalRot() where inconsistent results could be returned if the prim was rotating during the call 2013-03-14 22:00:04 +00:00
Justin Clark-Casey (justincc)
f840728273 refactor: use cleaner LSL_Rotation quaternion constructor in LSL_Api.GetPartRot() 2013-03-14 21:57:43 +00:00
Justin Clark-Casey (justincc)
ad9bd3fe93 Fix sensors, llGetRootRotation(), llGet*Param() and other functions to use the world rotation if the avatar to which they are attached is sitting 2013-03-14 21:46:29 +00:00
Justin Clark-Casey (justincc)
e9c394fb4e Make llGetObjectDetails() return the correct world rotation for a sitting avatar
This addresses http://opensimulator.org/mantis/view.php?id=6567
This creates a ScenePresence.GetWorldRotation() with the same semantics as SOP.GetWorldRotation()
SP.Rotation can't be used since it's relative to the sat upon prim if the avatar is sitting.
2013-03-14 21:23:48 +00:00