Commit Graph

296 Commits

Author SHA1 Message Date
Dahlia Trimble
d83d665186 Thanks to M. Igarashi and nlin for a patch that improves conformance of the funcion llAxes2Rot() 2008-12-22 03:08:39 +00:00
idb
3fe966d6b3 An initial implementation of llMinEventDelay in XEngine.
Not implemented yet in DotNetEngine.
Fixes Mantis #2830
2008-12-21 19:04:06 +00:00
Charles Krinke
62dd67b8b8 Mantis#2796. Thank you kindly, Gerhard for a patch that addresses:
On a call of llVolumeDetect(1) (or any other number !=0) volume 
detection is enabled. Together with VD, the phantom flag is set to the GUI.
On a call of llVolumeDetect(0), vd detection is switched of again, 
also the phantom state is removed. On a call to llSetState(STATE_PHANTOM, 
false) while VD is active, also VD is switched off. The same is true for 
unchecking the phantom flag via GUI. This allows to take back VD without 
the need to script just by removing the phantom flag.
Things missing in this patch: persistance of the volume-detection flag. 
This needs more discussion and will be included in another patch soon.
2008-12-20 21:36:42 +00:00
Melanie Thielker
3aa7ad24da Make scripted item and folder gives pop up a "accept, decline" message
and allow deletion of the just received item.
2008-12-14 22:27:40 +00:00
idb
7c6c443503 Remove use of time dilation in llGetTimeOfDay, llGetTime and llGetAndResetTime.
It is not documented to be applied to llGetTimeOfDay at all and is not appropriate for the other two because dilation does not directly affect script speed in OS.
Fixes Mantis #2783 and #2162
2008-12-14 17:48:27 +00:00
Teravus Ovares
8ad6f575eb * Implements the torque/Rotational Impulse methods in the PhysicsAPI and the ODEPlugin and pipes them to their respective LSL method.
* NBody will need to be updated, this is an API change.   Torque property and AddAngularForce
2008-12-14 14:30:28 +00:00
Jeff Ames
a8fff196f5 Update svn properties, minor formatting cleanup. 2008-12-11 02:35:51 +00:00
Sean Dague
04e8d624d6 From: Christopher Yeoh <yeohc@au1.ibm.com>
The attached patch ads an OpenSim.ini option (AutomaticLinkPermission)
which when enabled makes PERMISSION_CHANGE_LINKS to be granted to
scripts by default. When enabled llGetPermissions will always return it
as granted and llCreateLink//llBreakLink will succeed without
doing llRequestPermissions. ONLY ENABLE THIS IN TRUSTED ENVIRONMENTS.

The patch also fixes a minor bug in llCreateLink
related to a potential dereference of a null client object.
2008-12-09 13:24:01 +00:00
Teravus Ovares
3844e73d27 * Gerhard's patch m2781. Does some initial work for setting up llVolumeDetect.
* Warning! Physics API change. This means that the NBodySimulation needs to be updated!
* PhysicsActor -> void SetVolumeDetect(int) needs to go into classes that use PhysicsActor as their base class.
2008-12-09 11:11:16 +00:00
idb
8c33fcb321 Remove null checks on structs 2008-12-09 00:51:35 +00:00
idb
7ae9ec217d Implementation of the llDetectedTouch* functions 2008-12-05 16:48:47 +00:00
Jeff Ames
1bd92a6d34 Minor formatting cleanup. 2008-12-03 23:48:24 +00:00
Dr Scofield
59b0ac846c From: Christopher Yeoh <cyeoh@au1.ibm.com>
The attached patch fixes the bug where llCreateLink will cause a null dereference
if the avatar who gave link permission for the object is no longer logged in.
2008-12-03 10:10:01 +00:00
Justin Clarke Casey
d253008450 * Apply http://opensimulator.org/mantis/view.php?id=2741
* Fix llTriggerSound()
* Thanks Godfrey!
2008-12-02 17:55:07 +00:00
idb
098f16fe31 Remove duplicated avatar height calculation in lsl functions.
Use height calculation in Basic Physics and Physics of Simplicity so that avatars larger than the default walk with straight legs and shorter walk on the ground.
2008-12-01 00:49:36 +00:00
Melanie Thielker
a00d346aab Add the lifetime management back into the LSL_Api, since that will also
expire and take the scripts down
2008-11-29 11:20:06 +00:00
Tedd Hansen
1767100316 ScriptSponsor and LSL_Api are now MarshalByRefObject 2008-11-26 14:23:46 +00:00
Tedd Hansen
e6ddb5de7d Attempt to give script objects a proper lease time (DNE and xengine). Relies on GC. Also removed lease for LSL_Api as it strictly speaking should not be MarshalByRef. Or should it? If so I broke scripting! :) 2008-11-26 11:12:57 +00:00
Adam Frisby
2a8ff937d5 * Removed more locks on Entities
* Entities should now in theory be lock-free externally.
* Other properties may cause blocking however[?].
* ScenePresence maintains separate locks so isn't fixed by this commit.
2008-11-24 15:14:33 +00:00
MW
0be9ff1949 Some refactoring from about a week ago that I forgot to commit, of AssetTransactionModule to cut down on number of classes and to work towards having a base AssetXferUploader class than can be shared with EstateTerrainXferHandler 2008-11-24 10:03:18 +00:00
Melanie Thielker
ba723a4cf6 Refactor: Scene.ExternalChecks -> Scene.Permissions. Also make all
the internals of the permissions module adapter sane
2008-11-21 22:14:57 +00:00
Justin Clarke Casey
915593bfbc * refactor: Rip out SOP inventory from the partial into a separate class
* 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
2008-11-21 21:16:42 +00:00
Justin Clarke Casey
c2d3d8d88e * Improve and correct messages given to the user when permission is denied for a particular OSSL function
* I don't believe that the extra information given is anything that couldn't be worked out by trial and error
2008-11-21 17:28:57 +00:00
Charles Krinke
44c56a974c Mantis#2656. Thank you kindly, Nlin for a patch that:
Attached patch implements llCollisionSound. Thanks T. Sado.
2008-11-19 18:30:16 +00:00
Justin Clarke Casey
558704be8b * Remove the TransferRequest and hip debugging console output that crept in recently 2008-11-17 16:14:23 +00:00
Justin Clarke Casey
c41903077d * Eliminate SOG.FakeDeleteGroup() since it is now identical with DeleteGroup() (except that is didn't lock the parts, which was a potential race condition)
* Removed fake delete code from LSL_Api.SetFlexi - this code was never activiated anyway and didn't appear to make much sense on the surface
2008-11-17 16:06:50 +00:00
Justin Clarke Casey
d54b6608a7 * Stop nulling SOG.m_rootPart and parts on object deletion
* This renders RootPart == null checks useless - the replacement is to check SOG.IsDeleted.  However, in many cases this will not be necessary since updates to deleted parts 
will not be sent to the client
* This should remove any remaining race conditions where an object is deleted while another thread is yet to obtain the root part to perform some operation
* Doing this is probably a necessary prerequisite to moving to a model without a separate SOG and SOP
* Unfortunately it's not possible to eliminate all RootPart == null checks since in some contexts it is currently used to check whether an object was created successfully
2008-11-17 15:40:27 +00:00
Melanie Thielker
598316c890 Make object chat come from the root prim's center, rather than trying to make
it come from a child prim position.
2008-11-17 05:57:58 +00:00
Melanie Thielker
08b1e1a1f6 Fix previous build break 2008-11-17 04:34:19 +00:00
Melanie Thielker
928d003bf5 Change the semantics of the Allow_* os function control. Omitting a function
causes defautlt behavior. "true" now means usable unconditionally, "false"
means disabled, and a list of UUIDs restricts it.
This changes SECURITY! If you used "true" here before, you shoudl review
your setup!
2008-11-17 04:23:03 +00:00
Melanie Thielker
5e2e05a1c1 Megapatch. Completely remove the multiparameter IM methods. Remove the insecure
fromAgentSession field.
2008-11-16 22:04:01 +00:00
Melanie Thielker
3de41ea377 Reinstate the IM sending from scripts and from autoreturn 2008-11-16 04:31:52 +00:00
Jeff Ames
55e2ede065 Update svn properties, minor formatting cleanup. 2008-11-16 02:55:24 +00:00
Melanie Thielker
27e557eb98 Introduces the message transfer module. It splits the transfer mechanics off
the IM module and makes it into a module of it's own, which can be used by
all other modules. Removes some ugly hacks. Refer to the IM module to see
how it's used. Also fixes the persistence issue (Mantis #2598)
2008-11-16 00:47:21 +00:00
Homer Horwitz
448e4b0beb - Change llSetRot behavior so it matches the SL behavior (in particular, the
rather strange behavior if used in a child prim).
- Small refactoring.
2008-11-15 21:03:06 +00:00
Jeff Ames
e40fe2db26 Update svn properties, minor formatting cleanup. 2008-11-15 02:21:52 +00:00
Justin Clarke Casey
e3770cfee6 * Allow new script creation to be locked down to only gods if specified in OpenSim.ini
* This doesn't allow complete script lockdown of a sim, many avenues (copying, editing) are still uncloseable at the moment
* Default remains to allow all users to create scripts (subject to existing permissions if enabled)
2008-11-14 18:43:40 +00:00
Melanie Thielker
edee11ff87 Reapplying a revised version of Christopher Yeoh's (IBM) patch for allow
inventory drop. Also adds a new flags, "propagate_permissions" to
OpenSim.ini to control that feature.
2008-11-14 17:24:56 +00:00
Dr Scofield
5c21ec6d10 reverting #7295, as it still fails a test case (as pointed out very
kindly by sean) --- lesson learned: just running a "make test" is not
sufficient, you need to precede it by a "make clean".
2008-11-14 13:03:18 +00:00
Dr Scofield
5e20e32b69 From: Christopher Yeoh <cyeoh@au1.ibm.com>
This patch makes llAllowInventoryDrop work with the permissions module
enabled. Changes include:

- Enabled PropagatePermissions when permissions module serverside perms
  is on

- change ownership of item when item is dropped into an object.
  Ownership changes to the owner of the object the item is dropped into

- propagation of permissions if the permissions module enabled (eg
  next-owner mask applied)

- CHANGED_ALLOWED_DROP is now passed to the change script event if an
  item was allowed to be dropped into the object only because
  llAllowInventoryDrop is enabled (instead of CHANGED_INVENTORY being
  passed).

- Sets object flags correctly when llAllowInventoryDrop is called so
  clients are notified immediately of the change in state. Am not
  sure that calling aggregateScriptEvents is the right way to do it,
  but it works and seems to be the only way without making further
  changes to update LocalFlags
2008-11-14 10:55:14 +00:00
Dr Scofield
4b5e09a36b From: Alan Webb (alan_webb@us.ibm.com)
Fix the broken llSetTimerEvent implementation (sec == 0 was not
possible anymore).
2008-11-12 11:02:55 +00:00
Melanie Thielker
302d65569f Allow gods to terraform without limits. Respect the Allow Others To
Terraform flag in land.
2008-11-11 01:47:40 +00:00
Melanie Thielker
7eda940e7f Fix llList2Integer to have the same semantics as an (integer) cast. Handle
mixed number/letter content properly.
2008-11-11 01:02:48 +00:00
Melanie Thielker
0d02f53f87 Prevent AO from crashing the sim if the user logs out before the script
stops
2008-11-10 05:42:02 +00:00
Melanie Thielker
dd688e95e0 Add a MinTimerInterval, defaulted at 0.5s, to the scripting configuration 2008-11-10 05:33:36 +00:00
Melanie Thielker
6c27321949 Cause llGetInventoryType to return the asset type, which corresponds with
the LSL constants.
2008-11-09 19:10:33 +00:00
Charles Krinke
83d83ebbc4 Refactor the detectparams variable from 'd' to
a more meaningful name of 'detectedParams'.
2008-11-08 23:55:40 +00:00
Charles Krinke
edb2344796 Mantis#2583. Thank you kindly, Idb for a patch that solves:
PRIM_TEMP_ON_REZ and PRIM_MATERIAL are not implemented in 
llSetPrimitiveParams so support for these is in the patch.
Also two deprecated functions throw errors. They are changed 
to behave as in SL: llSetPrimURL - Does nothing except the sleep 
(currently commented out) & llRefreshPrimURL shouts 
"llRefreshPrimURL - not yet supported" on the error channel
2008-11-08 21:25:26 +00:00
Melanie Thielker
5c0fd512e8 Fix llParseString* to create LSLStrings. This makes llListFindList work
on lists created by parsing
2008-11-08 15:31:02 +00:00
Melanie Thielker
833f5e8bed Refactor IEventReceiver back into IScriptEngine 2008-11-08 02:24:34 +00:00