Commit Graph

542 Commits (0d4880d5cfe3835ab0d0b67427b60b5aedc3c50e)

Author SHA1 Message Date
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
Dr Scofield dd37fbb137 fixing warnings in YProlog language support 2008-11-17 11:16:24 +00:00
Dr Scofield ae0bcab35e adding #pragma warnings to yprolog language support 2008-11-17 11:06:24 +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
Teravus Ovares c453a41fb5 * Set defaults on the allowed LSL Compilers to 'lsl' unless you've specified otherwise. 2008-11-12 04:49:06 +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
Justin Clarke Casey 0f22013ae4 minor: remove mono compiler warnings 2008-11-10 19:06:01 +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 664e8a464e Script region crossing. This has not user functionality, but lays all the
groundwork.
2008-11-09 19:30:40 +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
Melanie Thielker 48c6d052d9 Attachments, attachments, and, did I say attachments?
Too many fixes to list.
2008-11-07 05:48:44 +00:00
Justin Clarke Casey 1e527f3e86 * Fix test failure in CSCodeGeneratorTest.TestJumps()
* Need new NoOp(); generated part
* Not Homer's fault - this test ain't running under Windows! (needs fixing!)
2008-11-06 23:32:39 +00:00
Melanie Thielker 9e4fc8e03a Mantis #2571
Thank you, idb, for a patch that fixes the jump function in LSL.
2008-11-06 23:10:49 +00:00
Jeff Ames 486ac1e12f Update svn properties, minor formatting cleanup. 2008-11-06 22: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
Mike Mazur 6e14d1005a Prefix LSL variables which are C# keywords with @ instead of _ when translating from LSL to C#. Thanks idb for the patch. Fix issue 2546. 2008-11-04 01:30:39 +00:00
Charles Krinke 07ba2f4363 Mantis #2530. Thank you kindly, Idb for a patch that:
The attached patch changes the casts from explicit to implicit.
2008-11-03 01:57:10 +00:00
Melanie Thielker 44852158f2 Mantis #2518
Thank you, idb, for a patch that fixes the conflicts of lsl identifiers
with c# keywords
2008-11-01 23:50:19 +00:00
Justin Clarke Casey 87b8f327aa * Apply http://opensimulator.org/mantis/view.php?id=2440
* The attached patch changes the LSLInteger operator overrides for == and != to return LSLIntegers 1 or 0 instead of a bool and adds similar operator overrides for >, <, >= and 
<=
* Thanks idb!
2008-11-01 23:15:16 +00:00
Justin Clarke Casey e3864de621 * Apply http://opensimulator.org/mantis/view.php?id=2521
* Fix not tests in LSL which require implicit casting (see mantis for an example)
2008-11-01 22:18:26 +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
Justin Clarke Casey 7fdd6b74e3 * Apply patch in http://opensimulator.org/mantis/view.php?id=2494
* Introduces missing casts for float, integer, vector, quaterion and string to list
* Thanks idb
2008-10-29 20:09:02 +00:00
Justin Clarke Casey 8367353ea3 minor: indentation corrections 2008-10-29 20:05:16 +00:00
Melanie Thielker 8ea4553d39 Mantis #2486
Thank you, nlin, for a patch that fixes serialization of vector and
quaternion types for script state.
2008-10-28 10:14:44 +00:00
Charles Krinke a59ca765fe Thank you kindly, Idb for a patch that solves:
LSL - Bitwise operators OR and XOR do not work 
on integer variables
2008-10-27 00:59:26 +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
Charles Krinke e9134a050a Thank you kindly, Idb for a patch that solves:
lsl conformity, llPushObject incorrectly 
restricts  the pushing of objects based 
on region and parcel flags
2008-10-20 01:42:02 +00:00
Charles Krinke a5d945e199 Thank you kindly, Idb for a patch that solves:
llWind always returns a zero vector. In the attached 
patch the WindModule has been changed slightly to 
make wind data available for llWind
2008-10-19 21:11:13 +00:00
Teravus Ovares 0916b38b83 * Fix an over compensation for bounciness on flat Primitive
* Implement the linear impulse portion of llPushObject.  We should have a lsl compatible implementation of that portion of the push.  Angular..   well.  still have yet to implement a torque accumulator.
* llPushObject respects the region and parcel settings for Restrict Push, it also respects GodMode as is defined in the LSL spec.
2008-10-17 23:19:00 +00:00
Homer Horwitz 9e46d5e207 Fixed llDeleteSubList; the indices were swapped (Fixes Mantis#2399). 2008-10-17 19:01:01 +00:00
Justin Clarke Casey 4df08aed30 * Apply http://opensimulator.org/mantis/view.php?id=2401
* Removes spacers that are also separators in llParseString2List
* Thanks idb
2008-10-16 17:14:02 +00:00
Justin Clarke Casey 6789234335 * Apply http://opensimulator.org/mantis/view.php?id=2405
* Implement llGetRegionFPS()
* Thanks idb
2008-10-16 13:17:31 +00:00
Homer Horwitz d77ebb5761 Thanks, idb, for a patch that fixes Mantis#2400:
llSensor() range ignored with AGENT.
2008-10-15 20:49:28 +00:00
Dahlia Trimble 227fd4eb11 Thanks to T. Sado and nlin for a patch that partially implements llGetAgentInfo (AGENT_FLYING, AGENT_ALWAYS_RUN, AGENT_AWAY, AGENT_MOUSELOOK, AGENT_TYPING). 2008-10-15 04:55:13 +00:00
Dahlia Trimble 901acddbdd Thanks to M. Igarashi and nlin for a patch that implements llGetCameraRot(). 2008-10-15 04:42:28 +00:00
Justin Clarke Casey 308a0bc2e4 * Apply http://opensimulator.org/mantis/view.php?id=2249
* Calculate an agents height in LLGetAgentSize() from apperance parameters rather than physics avatar numbers
* Another good looking patch from idb - thanks!
2008-10-13 20:56:56 +00:00
Justin Clarke Casey 9d6f043a79 * Remove warnings, including one which pointed out a bug 2008-10-13 20:45:13 +00:00
Jeff Ames fdec8390c1 Update svn properties, minor formatting cleanup. 2008-10-12 03:16:49 +00:00
Melanie Thielker 11477db59e Fix LSL bitwise Or 2008-10-12 01:00:26 +00:00
Melanie Thielker 6f2d077356 Fix llSetPos to handle child prims correctly. This will fix linked
sliding doors
2008-10-11 23:47:35 +00:00
Homer Horwitz 38a0a68091 * Change permission check for llParcelMediaCommandList to use the permissions
module, thus including estate owners and gods.
2008-10-11 20:53:33 +00:00
Melanie Thielker bd05b932b1 Add shift operator overloads to LSLInteger. If you get error messages when
using << and >> in scripts, this will fix it.
rm bin/*.dll ; rm bin/ScriptEngines/*.dll ; rm bin/ScriptEngines/*/*.dll
then rebuild and reinstall
2008-10-11 17:09:26 +00:00
Melanie Thielker 44b2ecf29d 2nd stab at that prim loading nasty 2008-10-11 16:32:31 +00:00
Homer Horwitz bed6c763a5 * Rework llParcelMediaCommandList
* Add missing PARCEL_MEDIA_COMMAND_* constants
* Fix a copy/paste error in SendParcelMediaUpdate
llParcelMediaCommandList should work now
2008-10-11 15:18:55 +00:00
Homer Horwitz 6452c6c20b Add a + operator to LSLString, otherwise you will end up with CIL strings if
you have expressions with strings.
2008-10-11 15:17:49 +00:00
Melanie Thielker ab87a987f5 Fix an exception handling issue in XEngine 2008-10-10 23:18:52 +00:00
Justin Clarke Casey 4e3bc9a63e * Apply http://opensimulator.org/mantis/view.php?id=2373
* Many llSensor() improvements, though sensoring isn't perfect yet
* thanks idb!
2008-10-09 22:41:07 +00:00
Justin Clarke Casey 997f1d465d * Apply http://opensimulator.org/mantis/view.php?id=2370
* Refactor lLMessageLinked() to use internal method GetLinkParts
* thanks ralphos
2008-10-09 18:59:01 +00:00
Charles Krinke e4fc55f71e Mantis#2352. Thank you kindly, Jonc for a patch that:
If prim is part of SOG, then ask the SOG to update the 
position, rather than asking the part itself.
Ghosted child prims should no longer result from llSetPos.
Not sure if this is the right approach for all cases ,
would appreciate feedback on the patch.
2008-10-08 01:49:58 +00:00
Charles Krinke e87195d1bd Mantis#1906. Thank you kindly, Idb for a patch that:
Removed cache accesses to obtain sensed object/avatar 
name, it is already available.
2008-10-08 01:44:35 +00:00
Melanie Thielker 8d2ec1ac71 Adapt tests to new friendly errors and correct line numbers 2008-10-07 22:25:55 +00:00
Melanie Thielker 638cce09d1 Restore "friendly errors" to the XEngine 2008-10-07 21:59:56 +00:00
Justin Clarke Casey f085d53be2 * Apply http://opensimulator.org/mantis/view.php?id=2345
* Bring llSetLinkTexture into line with llSetLinkColor and lLSetLinkPrimitiveParams() implementations
* Thanks ralphos
2008-10-07 14:58:56 +00:00
Justin Clarke Casey 48d86fb23f * Apply http://opensimulator.org/mantis/view.php?id=1207
* Implmements llModifyLand() and a check for the "Allow others to terraform flag"
* Thanks tglion!
2008-10-07 14:49:12 +00:00
Dr Scofield e5a50b6a3b From: chris yeoh <yeohc@au1.ibm.com>
The attached patch fixes mantis bug 2312 (llGetPos() returns incorrect
values for child prims where the root prim is rotated). Regression
tests still pass.

Incidentally AbsolutePosition which was used before looks a little
suspicious to me as its always going to return the wrong value if the
root prim is rotated. GetWorldPosition does take the rotation into
account, but AbsolutePosition is used in a lot of places.  Though i
don't understand why there is both GetWorldPosition as well as
AbsolutePosition so I've left the latter alone.

[i also cleaned up some indent problems, --- dr scofield]
2008-10-07 11:41:43 +00:00
Dr Scofield 7d525843d0 From: chris yeoh <yeohc@au1.ibm.com>
Attached is a patch for LLGround which was just plain broken and could
cause a runtime error. It now returns valid data with valid input (ie
the offset does not take the position off the edge of the sim), but a
runtime error will occur if invalid data is given.

On invalid data the LL servers return the ground height based on a
valid point closest to the effective position calculated using the
supplied offset. Is the OpenSim convention to replicate the LL servers
as closely as possible? If so I can submit an additional patch to
replicate the LL behaviour.
2008-10-07 11:33:41 +00:00
Charles Krinke 68021fa8ff Mantis#2342. Thank you kindly, Ralphos for a patch that solves:
llSetLinkApha is not fully implemented and has not been updated 
to use the recently added GetLinkParts and associated implementation 
pattern as per llSetLinkColor and llSetLinkPrimitiveParams.
2008-10-06 14:50:58 +00:00
Charles Krinke e575ef7ad2 Revert r6697 patch as the build fails. 2008-10-06 00:58:43 +00:00
Charles Krinke dedc1baeb7 Mantis#2336. Thank you kindly, Ralphos for a patch that:
Prevent EventAbortException inner exceptions of 
TargetInvocationException being re-thrown from 
OpenSim.Region.ScriptEngine.Shared.ScriptBase.
Executor.ExecuteEvent
2008-10-06 00:51:36 +00:00
Charles Krinke 4f6cdc08d6 Mantis#1207. Thank you, TGlion for a patch that addresses:
Implementation of llModifyLand() and There is a bug on 
permission-check of land-terraforming: x an y-coordinates 
are interchanged on function-call ExternalChecksCanTerraformLand.
Correct: x is west, and y is north. 2) Missing check of 
"Other allow to terraform-flag" (Parcel.ParcelFlags.AllowTerraform)
2008-10-06 00:46:27 +00:00
Jeff Ames aab6cdd8b0 Update svn properties, minor formatting cleanup. 2008-10-05 14:15:39 +00:00
Charles Krinke 2fdb42aec0 Mantis#2316. Thank you kindly, CMickeyb for a patch that:
Addresses llDie issues. The attached patch catches run time 
exceptions that occur during method invocation (of type 
TargetInvocationException) and exposes the internal exception. 
This makes it possible to pass out the SelfDeleteException. 
Also added handlers in a couple places to make sure that 
exception was being passed out far enough to be handled 
correctly. Tested on DNE.
2008-10-04 19:04:58 +00:00
Melanie Thielker 6bf521c7df Guard against negative scale set through LSL functions 2008-10-04 14:23:33 +00:00
Melanie Thielker cffd73c59f Reintroduces the discovery mechanism to use llRequestSimulatorData("", 128)
Causes the dataserver event to return "OpenSim" when running on OpenSim.
Requires ThreatLevel to be "High" or above to function.
2008-10-03 06:15:23 +00:00
Charles Krinke d5b3a66f52 Mantis#2307. Thank you kindly, Godfrey for a patch that solves:
In Second Life's implementation of llParseString2List(), all spacer 
strings which occur within the source string are included in the 
resulting list. In OpenSim's implementation, any spacers occurring 
at the beginning of the string are discarded; furthermore, if multiple 
spacers occur between non-spacer elements, or at the end of the source 
string, only the first spacer is added to the resulting list; 
the remainder are discarded.
2008-10-03 02:33:59 +00:00
Melanie Thielker e30856a32f Mantis #2317
Thank you, fusspawn, for an implementation of osGetSimulatorVersion.
This patch removes the llRequestSimulatorData(..., 128) hack and
implements the functionality as an osFunction.
2008-10-03 01:30:22 +00:00
Homer Horwitz b1c1de2fbe - Added SendScriptTeleportRequest to IClientView and classes implementing it.
- Implemented llMapDestination.
2008-10-01 21:30:48 +00:00
Jeff Ames f6699892dc Update svn properties, minor formatting cleanup. 2008-09-30 05:26:57 +00:00
Charles Krinke 68ae63e546 Mantis#2300. Thank you kindly, Idb for a patch that solves:
A number of the deprecated functions had missing parameters 
causing compile errors. These included:
llSound, llMakeExplosion, llMakeFountain, llMakeSmoke,
llMakeFire, llPointAt, llXorBase64Strings, llSetPrimURL
2008-09-30 01:59:51 +00:00
Charles Krinke 307f26e80e Mantis#2299. Thank you kindly, Idb for a patch that:
OS/SL script conformance, implement llSoundPreload and 
llRemoteLoadScript to behave as in SL. In SL 
llSoundPreload appears to do nothing. In OS 
llRemoteLoadScript shouts an error when invoked 
"Deprecated. Please use llRemoteLoadScriptPin instead."
2008-09-29 20:24:59 +00:00
Dr Scofield 87ac46c1c5 From: rob smart (smartrob@uk.ibm.com)
minor fixes to osParseJSON.
2008-09-29 17:47:17 +00:00
Melanie Thielker 538f51f36d Mantis #2293
Fix a null reference exception when the exception thrown by a script
is not a TargetInvocationException
2008-09-29 10:30:01 +00:00
Charles Krinke 6758ecc403 Implement the plumbing for llSetVehicleType from the LSL
subroutine down through the physics modules through PhysActor
and SceneObjectPart. No connection to the physics simulators.
2008-09-28 22:38:59 +00:00
Charles Krinke ebbbd37605 Added the plumbing for llSetVehicleRotationParam
in the classes between the LSL implementation and the
underlying physics engines.
2008-09-28 21:53:56 +00:00
Charles Krinke d68d631dc0 A little bit further with LLSetVehicleVectorParam. 2008-09-28 21:20:25 +00:00
Charles Krinke 3747862999 Plumb the connection though from llSetVehicleVectorParam
to the various physics engines. No connection to the 
underlying physics simulator yet, just plumbing through
the various classes.
2008-09-28 20:20:32 +00:00
Melanie Thielker 3012bfa2a2 Mantis #1922
Thank you, idb, for a patch that addresses hex digits erroneously being
recognized as valid and parsed in a decimal number
2008-09-28 19:58:54 +00:00
Charles Krinke 9709d01358 Remove llSetVehicledoubleParam. It does not exist.
It was a mistake a year ago to add it in.
2008-09-28 19:31:58 +00:00
Charles Krinke 3397236c6c Plumb the connection through from llSetVehicleFloatParam
to the various physics engines. No connection to the 
underlying physics simulator yet, just plumbing through
the various classes.
2008-09-28 18:36:30 +00:00
Charles Krinke 6a863311f7 Mantis#2287. Thank you kindly, Idb for a patch that solves:
The current llGetLinkName returns an empty string if a prim 
with the given link number is not found in the link set. In 
SL an empty string is only returned if the prim name is actually 
blank, a NULL_KEY is returned instead with a couple of exceptions.
2008-09-28 01:12:57 +00:00
Melanie Thielker 1f8888a287 Update unit tests 2008-09-27 05:58:52 +00:00
Melanie Thielker 85068dae60 Add friendly error messages to both engines. 2008-09-27 05:31:43 +00:00
Melanie Thielker ec16750a87 Mantis #2277
Patch up a type name change in libomv. Thanks for tracking that down, idb
2008-09-26 23:38:59 +00:00
Melanie Thielker 415520cea6 Fix listeners in multi-region instances 2008-09-26 20:12:11 +00:00
Melanie Thielker 54ef88c12c Thank you, idb, for a patch that implements the stubs for llGetAgentLanguage() 2008-09-26 18:40:16 +00:00
Teravus Ovares 16b6738cda * Patch from JHurliman
* Updates to libomv r2243, 
* Remove lots of unnecessary typecasts
* Improves SendWindData()
Thanks jhurliman. 
* Will update OpenSim-libs in 10 minutes..
2008-09-26 17:25:22 +00:00
Melanie Thielker d8c470343e Compiler Connection! One world, one compiler! 2008-09-26 16:11:53 +00:00
Justin Clarke Casey 4b78aa50e6 * Apply http://opensimulator.org/mantis/view.php?id=2274
* Reapply homer's click action implementation, which accidentally got blatted
* Thanks tyre
2008-09-26 15:18:22 +00:00
Melanie Thielker b65d2139c8 Bringing the OSSLPrim back. Prim.Rotation, etc, will now work again.
As a bonus, the OSSLPrim has now come to XEngine, too!
2008-09-26 03:04:36 +00:00
Melanie Thielker c21a8b9969 Full API convergence. Api is back in LSL_Api.cs and OSSL_Api.cs.
The binaries are still different, but that is only a small step away now.
The OSSLPrim has been removed. This commit will breal all scripts
using Prim.Scale(), etc, syntax. It was not secure and will have to
be brought back in another form.
2008-09-26 02:51:00 +00:00
Charles Krinke 33add28b51 Mantis#2265. Thank you kindly, Idb for a patch that:
Implements the LSL function llGetAttached().
2008-09-26 01:49:06 +00:00
Homer Horwitz 91e0369f83 Implement LSL-function llSetClickAction. 2008-09-25 20:37:56 +00:00
Homer Horwitz 0e6237739a Implement LSL-function llGetRegionAgentCount. 2008-09-25 19:02:14 +00:00
Melanie Thielker f11107821e Add an extension to allow registering multiple interfaces of a type with
Scene. Make the script engines check that the engine name in the
//Engine:language comment is a valid engine and treat it as a normal
comment if it's not.
//DotNetEngine: needs to be written as //ScriptEngine.DotNetEngine: now, since
that is it's real internal name. //XEngine: still works
2008-09-25 17:26:32 +00:00
Charles Krinke 339671afc6 Mantis#2017. Thank you kindly, Tyre, for a patch that solves:
Check the client dialog box (from top menu) WORLD / REGION ESTATE 
/ REGION tab. The client dialog box seems to have a hard limit of 
about 32 characters per line available for displaying the region 
version number. Our regions are sending a string which is greater 
than the limit, causing the client to wrap the text and look ugly.
2008-09-25 14:57:40 +00:00
Melanie Thielker a3fcaef890 CONVERGENCE!!!!!!
The entire LSL API is now in the single, shared file
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api_Base.cs
This is for both engines. The OSSL function are still separate.
2008-09-25 06:04:47 +00:00
Melanie Thielker f3c8963c86 Convergence is almost complete. This brings the diff between the API to < 10k
and makes it use a common set of types in both engine. Fixes the issues with
running both engines and HTTP requests / listens / timers etc..
Also fixes a couple of minor Scene issues and a CTB by nullref.
2008-09-25 05:13:44 +00:00
Charles Krinke 5edaddce6d Mantis#2123. Thank you kindly, Idb for a patch that solves:
Under both DotNetEngine and XEngine, if an agent's UUID 
is passed as the parameter to llGetObjectMass(), 
it throws an exception.
2008-09-25 03:58:03 +00:00
Melanie Thielker fb7a29a5ef Rename lots of stuff in DNE to reduce source code differences in the
LSL implementation files. Rename lots of stuff in XEngine for the same
reason. Move methods between interfaces. Just refactor stuff.
2008-09-24 13:18:06 +00:00
Melanie Thielker a042302100 Mantis #2250
Make ambiguous implicit conversion from LSLInteger to uint explicit
2008-09-24 11:16:53 +00:00
Melanie Thielker 218902bedc Decouple AsyncCommands from XEngine and the script instance. Make
all methods needed outside the API ststic. Async command processing
is now wholly internal to the API. This sets the stage for the next
convergence step.
2008-09-24 02:58:05 +00:00
Jeff Ames 3f79e6b3e7 Update svn properties, formatting cleanup. 2008-09-23 23:14:00 +00:00
Melanie Thielker d95794d05c Refactor XEngine parser as per suggestions from mikem 2008-09-23 13:28:17 +00:00
Melanie Thielker 44e566260c Mantis #2243
Thank you, tyre, for a patch that refactors LSL to use a unified set of
method signatures and type names, reorders methods and removes unused
and adds new method stubs.
2008-09-23 11:41:34 +00:00
Justin Clarke Casey 8e00e933a4 * Apply http://opensimulator.org/mantis/view.php?id=2234
* Exceptions can thrown by llGetOwnerKey() 
* Thanks idb
2008-09-22 20:09:06 +00:00
Melanie Thielker 94aaf67dfa Change the scirpt engine loading mechanism. Script engines are now
ordinary region modules and are able to coexist in one instance.
See http://opensimulator.org/wiki/ScriptEngines for details. There were
changes to OpenSim.ini.example, please note DefaultScriptEngine.
Also see the User docs and FAQ on the Wiki. Default is DotNetEngine.
2008-09-21 21:47:00 +00:00
Justin Clarke Casey 451bd5a0ca * minor: warnings removal 2008-09-21 20:56:39 +00:00
Charles Krinke 37da083de5 Mantis#2233. Thank you kindly, Idb, for a patch that solves:
The constants for llGetParcelDetails were missing 
for DotNetEngine and XEngine.
2008-09-21 20:51:55 +00:00
Melanie Thielker 83b030229e Mantis #2232
Thank you, idb, for a patch that fixes an overflow issue in casting
string -> int for both engines, and adds tests!
2008-09-21 15:54:58 +00:00
Melanie Thielker 8407d7fbd2 Mantis #2230
The result of constants arithmetic can be a CLI type. This allows floating
point CLI types to be parsed out of lists properly.
2008-09-21 12:18:30 +00:00
Jeff Ames c8349e21c4 Update svn properties, minor formatting cleanup. 2008-09-21 02:41:22 +00:00
Melanie Thielker 5557fb9dd2 XEngine: Fix loading lists from saved state 2008-09-20 20:07:10 +00:00
Melanie Thielker e7064c0b19 Fix up some ScriptBase details 2008-09-20 18:17:04 +00:00
Homer Horwitz f352d6ed9b - Consistency fix: Like llGetNumberOfNotecardLines, llGetNotecardLine returns NULL_KEY on error now
- Conformance fix: If the notecard can't be found, shout on DEBUG_CHANNEL as the docs state
- Bug fix: Don't let llGetNotecardLine throw an exception on freshly created notecards
2008-09-20 17:32:58 +00:00
Teravus Ovares 42f04233a4 * Fix build error, (maybe)
* Might break something..     hard to say..      0.o
2008-09-20 17:17:41 +00:00
Melanie Thielker 5a1be7835c XEngine: Fix llGetListEntryType to return the correct type for the LSL types.
Change serialization to omit types it can't deal with.
2008-09-20 16:24:36 +00:00
Justin Clarke Casey fb5014cf5b * Duh, forgot I had undone some of the changes I meant to include in the previous commit 2008-09-19 19:07:20 +00:00
Melanie Thielker 5d3fe9f8cd Guard LLRezObject against NaN 2008-09-19 17:34:35 +00:00
Melanie Thielker 592f98c4aa Mantis #2217
Guard against NaN being returned from llRotBetween. Return a zero rotation
if the result is NaN.
2008-09-19 17:00:17 +00:00
Melanie Thielker 092ad53dc7 Fix issue introduces by a fix in 6256. Fixes mantis #2214 2008-09-19 13:11:55 +00:00
Melanie Thielker 48c2ef7e12 Fix llParcelMedia queries. Correct types and add a missing ToString() (XEngine) 2008-09-18 20:23:18 +00:00
Melanie Thielker 903fbd1f06 XEngine: fix collisions, add event coalescing for collision events.
Fix a nasty concurrency issue that could cause a high event frequency
to start more than one thread pool job for a single script.
2008-09-18 18:50:39 +00:00
Melanie Thielker 584704edd3 Remove redundant permissions check in OSSL_Api.cs 2008-09-18 17:06:47 +00:00
Melanie Thielker f856977c7b Fix list reset behavior, and thereby squash one warning 2008-09-18 17:04:02 +00:00
Dr Scofield 0dff3f2383 From: Robert Smart (SMARTROB@uk.ibm.com)
Patch for new scripting method osParseJSON.

also, a couple of warning bugs killed.
2008-09-18 16:53:26 +00:00
Jeff Ames ac083becd9 Update svn properties, minor formatting cleanup. 2008-09-18 16:07:06 +00:00
Melanie Thielker 23c217dd7b Kan-Ed fix series.
Correct a condition where a prim is linked before it has been persisted
for the first time and is then persisted through it's former SOG with
a bad offset position.
2008-09-18 15:24:16 +00:00
Melanie Thielker bf0b7eaecb Another pointless multiplication/division removed 2008-09-18 12:44:18 +00:00
Melanie Thielker 1160731100 XEngine API refactor. Fully implement ALL_SIDES with sanity checks.
Correct color handling functions to no longer return the inverse color.
Remove pointless * 256 / 256 legacy constructs.
2008-09-18 12:37:44 +00:00
Melanie Thielker deaf0e3814 Kan-Ed fix series.
XEngine: Change a number of methods to use the new link part method.
Fix ALL_SIDES for llSetColor, llSetTexture, llSetAlpha, llSetPrimitiveParams,
llGetPrimitiveParams(PRIM_TEXTURE, PRIM_COLOR).
2008-09-18 03:38:20 +00:00
Melanie Thielker 553d554e2c Kan-Ed fix series.
XEngine: Introduce a common method to determine link parts to work on.
Fix llSetLinkColor method.
2008-09-18 02:54:17 +00:00
Melanie Thielker 66febc47ad Kan-Ed fix series. Fix up llRezAtRoot and llRezObject, fix llCreateLink
to send a full update and do a persistence save.
2008-09-17 23:50:21 +00:00
Melanie Thielker 7e8320bada Kan-Ed fix series. Fix llTakeControls to behave as documented.
XEngine fixes: prevent queue overruns, prevent spamming when no key
is down. Release controls when conflicting permissions are requested
or permissions are refused later. Release when prim or script are deleted.
Fixes Scene script instance deletion semantics.
2008-09-17 22:00:56 +00:00
Justin Clarke Casey 6bcdc82a46 * Apply http://opensimulator.org/mantis/view.php?id=2206
* Fix/implement LSL group-related functions llDetectedGroup, llSameGroup 
* Thanks nlin
2008-09-17 13:14:07 +00:00
Jeff Ames 5c165c9bdd Update svn properties, minor formatting cleanup. 2008-09-16 23:21:50 +00:00
Justin Clarke Casey 0e6e8624ad * Apply http://opensimulator.org/mantis/view.php?id=2205 with a few small tweaks
* LSL Conformance: llSetPayPrice should accept more than four arguments in list
* Thanks kcozens!
2008-09-16 18:49:57 +00:00
Justin Clarke Casey ad7df5b500 * Apply http://opensimulator.org/mantis/view.php?id=2204 (with a small tweak)
* Attached patch implements LSL llGetAgentSize() for DotNetEngine and XEngine.
* Thanks Y. Nitta!
2008-09-16 17:57:34 +00:00
Justin Clarke Casey c6dfc99f22 * Apply http://opensimulator.org/mantis/view.php?id=2203
* Implementation of LSL llBreakLink and llBreakAllLinks
* Thanks Y. Nitta!
2008-09-16 17:48:57 +00:00
Justin Clarke Casey 6b0097039a * Apply http://opensimulator.org/mantis/view.php?id=2202
* llGround causes Array out of bounds exception in KanEd#11 script 
* Thanks Y. Nitta!
2008-09-16 17:41:01 +00:00
Justin Clarke Casey f437c4d8c9 * minor: oops, remove a warning I just inserted myself - naughty boy 2008-09-16 17:35:35 +00:00
Justin Clarke Casey 7f3bfa277b * minor: method documentation 2008-09-16 16:37:16 +00:00
Jeff Ames eee31c6f28 Minor formatting cleanup. 2008-09-16 10:15:09 +00:00
Melanie Thielker ae63b2d2ca Finish up OSSL enable/disable options in XEngine.
Now each function can be allowed, subject to threat level, disabled,
or restricted to certain UUIDs.
2008-09-15 23:50:07 +00:00
Melanie Thielker 2df0499da7 Refactor the os functions allowed check into the threat check method 2008-09-15 22:52:23 +00:00
Justin Clarke Casey a28a478546 * minor: recomment the console c# script printout I accidentally left in on the last ocmmit 2008-09-15 20:58:16 +00:00
Justin Clarke Casey 2b9e115fd7 * minor: eat up some yummy warnings 2008-09-15 20:50:57 +00:00
Melanie Thielker bf8b70ebeb Add the option to use Allow_osFunction = false for each OS function
in the XEngine section
2008-09-15 15:36:51 +00:00
Melanie Thielker 2eac6c17f4 Add more granularity and a risk asessment system to the OSSL API in XEngine.
Adds the fix from Mantis #2197 in it's new form.
Stage one of the scripting security changes, more to come.
2008-09-15 15:25:48 +00:00
Charles Krinke 5164fa2411 Mantis#2197. Thank you kindly, Tyre, for a patch that:
adds the new function osTeleportAgent().
2008-09-15 14:32:02 +00:00
Homer Horwitz 4ba7ce5981 Added some further clipping to color- and alpha-values. 2008-09-14 15:46:54 +00:00
Melanie Thielker de44f765e3 Mantis #2186
Prevent illegal color values from being set.
2008-09-14 15:18:58 +00:00
Homer Horwitz 37e6ce24a2 Fixed several cases of inverted colors and alpha in DNE and XEngine.
Added clamping to 0.0 - 1.0 for R, G, B, and A.
2008-09-13 22:48:30 +00:00
Jeff Ames 6e6465f6c1 Update svn properties. Minor formatting cleanup. Fix some minor typos. Remove some old dead code. 2008-09-13 21:39:26 +00:00
Melanie Thielker 8830b8b72c Mantis #2018
Read animation data from avataranimations.xml to allow default animations
to be started and stopped by name from scripts.
2008-09-13 19:51:56 +00:00
Melanie Thielker 99f1e1d107 Mantis #2182
Thank you, tyre, for a patch that fixes the sender UUID in scripted IM
2008-09-13 16:34:29 +00:00
Melanie Thielker dccdeb57bb Fix some string to float casting nastiness. The "train script" now
works. Also makes llGetFreeMemory return the constant 16384.
LLGetFreeMemory is useless in SL, as it never goes up, only down.
So, the only thing it is used for, in practice, is to detect an imminent
stack/heap collision, a danger we don't have.
2008-09-13 16:16:08 +00:00
Melanie Thielker fdb24c46ac Provide a GetApi method on the IScriptEngine to get a named API reference
This allows cross-api method calls on the implementation and also allows
"Meta APIs" that only provide common functionality to other APIs
2008-09-13 14:40:42 +00:00
Melanie Thielker 9222c5154e Change all LSL functions to return LSL types instead of base types.
Remove some unused osFunctions that were left in the LSL function
file from the separation way back when. Inline the osSetParcelMediaURL
code to get rid of the osFunction. Really need to add a way for one API
to call another.
2008-09-13 13:47:23 +00:00
Melanie Thielker 7f3a98b76d Fix string parameters to functions taking lists as arguments. LSL
functions return CLI strings, which, in the case of lists, don't
get wrapped. Therefore, the list had to be able to deal with
that CLI type here. The correct fix would be to change all LSL
function returns to LSL types.
2008-09-13 12:58:44 +00:00
Melanie Thielker a68e34b558 Mantis #511
Allow parsing of hexadecimal int constants from strings.
Also fixes a DBNull value in the touch type field crashing the sim
2008-09-10 06:14:38 +00:00
Jeff Ames b9b996be38 Update svn properties, minor formatting cleanup.
Fix unreachable code due to typo in llDetectedGroup.
2008-09-10 05:17:28 +00:00