Commit Graph

275 Commits

Author SHA1 Message Date
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
Homer Horwitz
1df67a37dc Add missing TeleportStart packets to llTeleportAgentHome and osTeleportAgent.
As those aren't viewer-initiated TPs, the viewer has to be informed.
This should fix Mantis #2351 and #2397.
2008-11-06 20:38:34 +00:00
Melanie Thielker
4cd7907314 Change threat level of osMakeNotecard to High because of it's griefing
potential (asset bloat, asset server DOS due to no enforced delay)
Formatting cleanup. Change default permissions on the notecard to
not include "anyone can copy" and "anyone can move", as they are
meaningless on non-prim items.
2008-11-06 14:37:41 +00:00
Dr Scofield
44b0c59ba9 From: Christopher Yeoh <cyeoh@au1.ibm.com>
The following patch implements osMakeNotecard as specified on the OpenSim website
2008-11-06 09:12:14 +00:00
Justin Clarke Casey
8f3c5dbe5c * Apply second patch in http://opensimulator.org/mantis/view.php?id=2561
* Inserts proper animation state names into data/avataranimations.xml file so that llGetAnimation() works as one would expect.
* Thanks StrawberryFride!
2008-11-05 15:26:10 +00:00
Jeff Ames
638fe7a7b5 Update svn properties, minor formatting cleanup. 2008-11-05 15:15:41 +00:00
Justin Clarke Casey
b84417a220 * Apply http://opensimulator.org/mantis/view.php?id=2561
* This is a partial implementation of llGetAnimation that returns the name of the animation as stored in data/avataranimations.xml but not its state name (since we don't yet 
have these).
* Thanks StrawberryFride
2008-11-05 14:02:36 +00:00
Sean Dague
ea27b95f8e From: Rob Smart <SMARTROB@uk.ibm.com>
This patch allows an object to directly message another object given its
key using the method osMessageObject(key objectUUID,string message).

to communicate with an object it must implement the dataserver listener
method. The dataserver method is passed the key of the calling object
and a string message.
2008-11-04 20:48:35 +00:00
Justin Clarke Casey
9366a234cf * refactor: Convert most non SOP methods to use SOG.IsAttachment rather than SOP.IsAttachment 2008-11-01 22:04:35 +00:00
Jeff Ames
337da2a7a3 Update svn properties, minor formatting cleanup. 2008-11-01 07:21:40 +00:00
Dr Scofield
537cd4708f From: Chris Yeoh (yeohc@au1.ibm.com)
Here's the patch that clamps llGround to using sane values avoiding
runtime errors.
2008-10-30 15:09:43 +00:00
Charles Krinke
87e7ff5932 Thank you kindly, NLin for an implementation patch
for llSetHoverHeight() and llStopHover(). I believe
this gets is to less then 50 LSL functions left to
implement.
2008-10-30 14:06:00 +00:00
Justin Clarke Casey
742514b0d7 * Apply http://opensimulator.org/mantis/view.php?id=2492
* object_rez event should now be sent to all scripts in the prim
* Thanks idb!
2008-10-29 20:58:11 +00:00
Charles Krinke
8a6042f063 Thank you kindly, Idb for a patch that solves:
llGetRot and llGetRootRotation return the wrong 
values when the object is attached
2008-10-27 00:51:50 +00:00
Charles Krinke
ba79c26d2d Thank you kindly, Idb for a patch that solves:
The following should silently fail when attached,
llBreakAllLinks, llBreakLink, llCreateLink.
The following should be restricted to avatars in the same sim,
llGetAgentInfo, llSameGroup, llGetAgentSize, llGetAnimationList.
Comment added to the following unimplemented functions,
llGetAgentLanguage, llGetAnimation.
2008-10-26 18:26:56 +00:00
Charles Krinke
b552e8ebe3 Thank you kindly, Idb for a patch that solves:
llGetBoundingBox is completely unimplemented. The attached 
patch contains a partial implementation for single prim 
objects and standing, flying and ground sitting avatars. 
In the case of an avatar sat on an object or multi-prim 
objects only the bounding box of the root prim is returned.
llRezObject and llRezAtRoot ignored any velocity parameter. 
The attached patch makes use of it if it is not a zero vector.
2008-10-26 17:09:26 +00:00
Charles Krinke
2462108bfb Thank you kindly, Ewe Loon for a patch that solves:
m_ScriptDelayFactor and m_ScriptDistanceFactor are 
being read from XEngine settings not the settings 
for the scriptengine being used
2008-10-26 17:01:15 +00:00
Justin Clarke Casey
5c2d400235 * Apply http://opensimulator.org/mantis/view.php?id=2459
* Implements the rest of llGetAgentInfo() with the exception of AGENT_BUSY.
* Thanks nlin
2008-10-23 20:06:23 +00:00
Charles Krinke
f919b86156 Thank you kindly, Idb for a patch that:
Added AGENT_ATTACHMENTS and AGENT_SCRIPTED to llGetAgentInfo
Added to llGetAgentSize to include shoes in avatar height calculation.
2008-10-22 23:07:45 +00:00
Charles Krinke
809a1d3367 Thank you kindly, Nlin for a patch that:
Attached patch adds detection of AGENT_WALKING 
status to LSL function llGetAgentInfo()
2008-10-22 14:09:58 +00:00
Dr Scofield
72a388a7b6 cleaning up IRCBridgeModule to allow for configuration from in-world,
chat relaying via private channels, and old IRCBridgeModule
behaviour. also cleaning up IRCBridgeModule's OpenSim.ini
configuration variable names (still supporting "old" variable
names). refactored IRCChatModule into IRCConnector and incorporating
watchdog from IRCBridgeModule into IRCConnector.

enabling ChatModule to be used as a super-class and utilizing it in
ConciergeModule.
2008-10-20 17:31:54 +00:00
Melanie Thielker
caf10245af Mantis #2438
Fix llSetVehicleFloatParam to accept LSL_Float
2008-10-20 07:47:20 +00:00