Commit Graph

986 Commits (c5826d589ab2f33a71105bc2d3015ffbb7dd2973)

Author SHA1 Message Date
Melanie 178b40971a Add a method to init the OSSL Api's m_LSL_Api member back to the OSSL Api 2009-08-07 19:50:47 +01:00
Melanie f8d8366bfa Revert the XEngine memleak patch, it causes premature GC.
This matches behavior seen with an earlier attempt to do this, apparently
the sponsor mechanism does't work in Mono
2009-08-07 03:04:06 +01:00
Melanie 91f6898b26 |From: James J Greensky <jame.j.greensky@intel.com>
|Date: Wed, 5 Aug 2009 09:51:52 -0700
|Subject: [PATCH] Closed two major memory leaks for scripted objects
|
|Two major memory leaks for the scripted objects were fixed
|- One leak had to do with remoting acrossing app domains.  When a script and
|  its controlling agent communicate across an application boundary, it calls
|  functions on a stub proxy object that then invokes the remote method on
|  the object in the other app domain. These stub objects (two for each script)
|  were setup to have infinate lifetimes and were never being garbage collected.
|- The second leak was the result of adding a scene object part instance method
|  to a scene event and never removing it.  This cause the event's delegate list
|  to maintain a link to that object which is then never freed as the scene event
|  object is never destroyed.

Patch applied, please direct feedback to me. Possible issue: Longtime idle
scripts like vendors may fail.
2009-08-06 22:03:20 +01:00
Justin Clark-Casey e5904c3883 remove some more mono compiler warnings 2009-08-05 17:39:32 +01:00
Justin Clark-Casey 190bdc8a2e * Remove some mono compiler warnings 2009-08-05 17:33:23 +01:00
Alan Webb 068f54725b Slight change to state management for attach scheduling.
Signed-off-by: dr scofield (aka dirk husemann) <drscofield@xyzzyxyzzy.net>
2009-08-04 11:44:22 +02:00
Alan Webb 9ffe4d850e This change adds support for the attach event in scripts.
[1] Added a new OnAttach event to Scene/EventManager
  [2] Hooked up existing attach event handler in XEngine.
  [3] Modified SceneGraph and Scene.Inventory to trigger
      attach events at the appropriate places. I was forced
      to distribut the changes across two files because of
      the way attach processing is distributed across the
      two files.
  [4] In the case of RezSingleAttachmentFromInventory it is
      necessary to handle event scheduling in a special way.
      There is no synchronous path available, so the fact
      that this object is attached, and who it is attached to,
      is cached when the ScriptInstance is created. When
      the script is started, the attached handler is driven
      after on_rez (but before changed, this should be reviewed).

Signed-off-by: dr scofield (aka dirk husemann) <drscofield@xyzzyxyzzy.net>
2009-08-04 11:41:06 +02:00
Melanie 17bdc45c5c Add plumbing for the SceneObjectDeleter to wait for the script engine to
allow final deletion of objects. Meant to support the attach(NULL_KEY) event,
2009-08-04 03:17:13 +01:00
Jeff Ames a1786d4c39 Formatting cleanup. 2009-07-28 09:40:07 +00:00
Melanie Thielker aec16c2a0a Than you, otakup0pe, for a patch to correct llSetPos & friends' behavior
for child prims.
Fixes Mantis #3931
2009-07-27 23:13:31 +00:00
Teravus Ovares 64bd9a3354 * Updates libOMV to version 0.7.0
* Uses mantis #3811 as a base (thanks jhuliman) with changes.
* E-mail regarding interface changes sent to the opensim-dev list 
* Archive: https://lists.berlios.de/pipermail/opensim-dev/2009-July/007219.html
2009-07-25 15:49:10 +00:00
Jeff Ames a133e83f3a Formatting cleanup. 2009-07-23 15:32:11 +00:00
Melanie Thielker 52f983613c Thank you, otakup0pe, for a patch that enables basic auth with LSL 2009-07-18 20:10:19 +00:00
Melanie Thielker fb4067c844 A stab at implementing llSetDamage. Not persistent. 2009-07-15 00:10:01 +00:00
Melanie Thielker e53596f607 Remove redundant distance limitaion in llRezAtRoot
Fixes Mantis #3887
2009-07-14 22:10:46 +00:00
Jeff Ames cce451d9de Formatting cleanup. 2009-07-11 11:47:33 +00:00
Charles Krinke dc0a19f737 Thank you kindly, Godfrey, for a patch that:
The vector parameter to llSetPos() specifies an absolute position for 
an unlinked prim or the root prim of a linkset; however, when the 
function is used by a child prim, the vector specifies a relative 
offset from the root prim. The changed introduced in llSetPos() treats 
this value as an absolute position in all cases, which has the unintended 
effect of mangling the position of child prims.
2009-07-09 16:53:55 +00:00
Melanie Thielker 2d949c1f25 Add DisableUndergroundMovement to scrpting API to allow underground movement
if needed. Defaults to true, so those who want to continue using underground
scripted prims need to add that option and set it.
2009-07-08 14:36:00 +00:00
Melanie Thielker f4498983aa Prevent scripts from moving prims underground 2009-07-08 10:22:51 +00:00
Melanie Thielker 6458858575 Change fields and methods in LSL API from private to protected, make some
methods virtual
2009-07-06 13:09:03 +00:00
Melanie Thielker 3564271c2d Restore the functionality that was removed in r9928. This lets the load
balancer plugin work again. Create a new method, GetClientEP, to retrieve
only the EndPoint for script usage. Marked the purpose of the method
in IClientAPI.cs with a warning. Also restored the corresponding SetClientInfo
functionality.
2009-07-01 15:47:52 +00:00
Sean Dague 3dc2010da6 From: Chris Yeoh <yeohc@au1.ibm.com>
Attached is a patch that changes the oar file saving of creation date/time to an integer
instead of a string. I did this after justincc emailed me saying there is a problem
with internationalisation doing it the old way and I said I'd fix it. Its been
tested with MySQL and I've made the changes for MSSQL but that hasn't been well tested.
2009-06-29 15:05:12 +00:00
Charles Krinke c7c4bc8cd5 Thank you kindly, Grumly57 for a patch that solves:
When a sit position is modified by llSitTarget and the 
sim is restarted, the object sit position is lost until 
llSitTarget is applied again.
2009-06-28 18:19:11 +00:00
Homer Horwitz 04444d408f Do llEscapeURL with Uri.EscapeDataString instead of Uri.EscapeUriString.
Not exactly right, according to the LSL docs, but similar enough, I hope.
Fixes Mantis #3825.
2009-06-21 19:06:19 +00:00
Melanie Thielker 2c3a1995fc Publish a method on ICompiler to generate the CIL assembly path
Cause group deeding to apply next owner perms
2009-06-21 18:38:12 +00:00
Mike Mazur e6e88ac126 Give m_test* methods more reasonable names
Changing the names of these methods because they were being picked up by
nunit as tests even though they were marked private. Naming them Check*
after the original Test*.
2009-06-12 15:00:08 +00:00
Jeff Ames a23d64dec1 Formatting cleanup. 2009-06-10 04:28:56 +00:00
Jeff Ames a7fcacf8f3 Formatting cleanup. Ignore some generated files. 2009-06-09 18:07:35 +00:00
Dr Scofield 759636f37e From: Alan Webb <alan_webb@us.ibm.com>
This change addresses two issues:

  [1] It adds a flag field to the blendface call which allows the
      caller to indicate whether or not the generated asset is
      temporary, and whether or not the asset being replaced should
      be explicitly retired fromt the memory cache. The decimal
      values correspond to:
      0 - Permanent asset, do not expire old asset
      1 - Permanent asset, expire old asset
      2 - Temporary asset, do not expire old asset
      3 - Temporary asset, expire old asset
      '3' corresponds to the default behavior seen today, and is
          the continued behavior of the non-blendface calls.
  [2] The dynamic texture routines are highly-asynchronous and can
      be scheduled simultaneously on a multi-core machine. The nature
      of the texture management interfaece is such that updates may
      be lost, and the nature of asynchornous operation means that
      they may be processed out of order. A lock has been added to
      ensure that updates are at least atomic. No attempt has been
      made to enforce ordering. The lock applies to the SceneObjectPart
      being updated and is held for the lifetime of the TextureEntry
      used to carry texture updates (the one instance carries all
      faces supported by the prim).

   Users of these services should remember that the dynamic texture
   call is asynchronous and control will be returned *before* the
   texture update has actually occurred. As a result, a isubsequent
   GetTexture call may not return the expected asset id. A script
   must wait for the corresponding TEXTURE_CHANGED event before
   retrieving any texture information.
2009-06-09 06:39:27 +00:00
Mike Mazur cda6b24668 Skip lone ident statments or for-loop assignments
SL's LSL supports lone idents:

    integer x;
    x;

as well as lone idents in for-loop assignments:

    for (x; x < 10; x++) { ... }

while those are errors in C# (MONO at least). This patch skips lone
idents in such places.

Fixes Mantis #3042.
2009-06-07 10:22:55 +00:00
Mike Mazur 48bc2f3a42 Allow empty assignment in for-loop
For loops with no assignment are no longer syntax errors. For example,
this is now valid:

    for ( ; i < 10; i++) { ... }

Corresponding changes to lsl.{lexer,parser} in r99 in opensim-libs.

Fixes Mantis #2501. Fixes Mantis #2884.
2009-06-07 10:22:41 +00:00
Mike Mazur d25b9151c8 Rename private TestllAngleBetween method
It seems overloading the method TestllAngleBetween confused nunit a bit
and caused it to try running the private TestllAngleBetween method. The
method's access modified prevented that from happening, and nunit
complained.
2009-06-07 08:32:07 +00:00
Melanie Thielker 5139160ce4 Correct an error where the config file name was always considered to be a
local file. This caused llHttpRequest and llSetInventoryPermsMask to fail
on regions that load their config from a web server
2009-06-06 16:39:28 +00:00
Melanie Thielker 9f932a4205 Thank you, thomax, for a patch to provide finer-grained access control to
scripting.
Fixes Mantis #2862
2009-06-05 09:47:42 +00:00
Dr Scofield 717fd3b5b9 From: Chris Yeoh <yeohc@au1.ibm.com>
This patch adds oar file date and time (UTC) meta data to an oar file
when it is created.  It also adds a unique ID, though this id does not
in anyway identify the machine that the oar file was created on.

When an oar file with this meta data is loaded this extra information
is saved with the region settings and available via LSL through:

- osLoadedCreationDate()
- osLoadedCreationTime()
- osLoadedCreationID()

If there is no meta data these fields will be blank. Subsequent oar
file loads will erase the information for the previous oar file
load. Persistence has only been implemented for MySQL, the other
backends need updating.

Overall this allows us to much more easily identify the specific version of
software that clients are using. Its very straightforward to edit the oar file
to change the ID string to be something more human friendly.

Included in the patch is a new file OpenSim/Data/MySQL/Resources/030_RegionStore.sql
required for the MySQL DB migration.

btw I had a chat with justincc about this a few weeks ago since he
wrote the oar file import/export and he sounded happy to accept
something that included date/time information but didn't want anything
that would silently leak private information like machine names.
2009-06-03 12:48:04 +00:00
Dahlia Trimble b64c484d26 Thanks aduffy70 for Mantis #3762: A patch to fix llGround, llGroundNormal, and llGroundSlope 2009-06-03 05:31:53 +00:00
Jeff Ames 840de6c036 Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
Dr Scofield 901fdca13b From: Chris Yeoh <cyeoh@au1.ibm.com>
The attached patch implements llPassTouches. It has been added
to the export/import XML along with the flag for AllowedInventoryDrop.

The MySQL backend has been updated as well, though I haven't
done one of those before so could do with a check. I added
the migration mysql file as well.

The other data backends need updating as well.
2009-05-27 18:01:06 +00:00
Dr Scofield c18c1f6c7c Revert "From: Chris Yeoh <cyeoh@au1.ibm.com>"
This reverts r9666. for some reason the mysql update does not work.
2009-05-25 11:32:31 +00:00
Dr Scofield 0bff818d39 From: Chris Yeoh <cyeoh@au1.ibm.com>
The attached patch implements llPassTouches. It has been added
to the export/import XML along with the flag for AllowedInventoryDrop.

The MySQL backend has been updated as well, though I haven't
done one of those before so could do with a check. I added
the migration mysql file as well.

The other data backends need updating as well.
2009-05-25 11:26:36 +00:00
Dr Scofield 3b689e506f From: Alan Webb <alan_webb@us.ibm.com>
Changes to support client-side image pre-caching in the region. This
  commit adds an additional calling sequence to the DynamicTexture data
  and URL calls. The new interface allows a dynamic image to be loaded
  into a specific object face (rather than the mandatory ALL_SIDES
  supported today.
  This is in part fulfilment of ticket #458.
2009-05-22 16:22:49 +00:00
Dr Scofield 1d02636c27 cleaning out warnings.
NOTE: we currently have a gazillion warnings caused stuff flagged as
"obsolete" (OGS1 stuff) --- what's up with that?
2009-05-22 14:57:00 +00:00
Dahlia Trimble 3d0f110f21 normalize quats before applying llSetRot() 2009-05-21 19:44:20 +00:00
Dr Scofield e1a1d38aff From: Alan Webb <alan_webb> & Dr Scofield<drscofield@xyzzyxyzzy.net>
Disable use of log4net in script domains to avoid mono 2.4 aborts.
2009-05-18 15:32:06 +00:00
Dr Scofield e3f2cfa1ca From: Alan Webb <alan_webb@us.ibm.com>
Fixes:
  [1] Sharing exception on remote OAR management
  [2] Occasional 505 error talking to Tomcat
  [3] Occasional mono aborts caused by mlog in the
      script engine's app domain (mono 2.4)
2009-05-18 10:04:28 +00:00
diva 5e4fc6e91e Heart surgery on asset service code bits. Affects OpenSim.ini configuration -- please see the example. Affects region servers only.
This may break a lot of things, but it needs to go in. It was tested in standalone and the UCI grid, but it needs a lot more testing.
Known problems: 
* HG asset transfers are borked for now
* missing texture is missing
* 3 unit tests commented out for now
2009-05-15 05:00:25 +00:00
Melanie Thielker fb3d5770dd Make the LSL HTTP server create and give out URLs to scripts 2009-05-13 20:32:14 +00:00
Melanie Thielker 1196f3eac7 Add most of the meat to the LSL HTTP server 2009-05-13 04:04:26 +00:00
Melanie Thielker ba8850f254 Plumb request and return URL functions.
Implements llRequestURL, llRequestSecureURL, llReleaseURL
2009-05-13 03:09:30 +00:00
Melanie Thielker 6c2302637f Implement llAttachToAvatar() 2009-05-13 02:21:21 +00:00
Melanie Thielker 4cce1cc26e Implement llDetachFromAvatar() 2009-05-13 02:06:12 +00:00
Charles Krinke 94e2768cc7 Add interface, stub implementation and
script stub for llGetHTTPHeader().
2009-05-13 01:58:17 +00:00
Charles Krinke 6257bb8b09 Add interface, implementation stub and
script stub for llGetFreeURLs().
2009-05-13 01:47:29 +00:00
Charles Krinke 4db2f71c45 Added interface, implementation stub and
script stub for llReleaseURL().
2009-05-13 01:21:50 +00:00
Charles Krinke 2776afd83d Remove incorrect semicolon 2009-05-13 01:13:59 +00:00
Charles Krinke c23bd2d6ea Add interface, stubbed implementation and
script stub for llRequestSecureURL().
2009-05-13 01:06:06 +00:00
Charles Krinke f63b83b085 Added interface, stub implementation and script
stub for llRequestURL().
2009-05-13 00:58:01 +00:00
Charles Krinke ba99f2a1a5 Add interface, stub and bare implmentation for llHTTPResponse(). 2009-05-13 00:29:50 +00:00
Charles Krinke c1d680b6c3 Thank you kindly, Patnad, for a patch that:
This is to handle the changes in the v1.23 viewer 
of LL regarding the adult rating. With this patch 
a region can be changed to the adult rating from 
LL viewer v1.23 and above.
2009-05-12 03:30:37 +00:00
Homer Horwitz 1d234ca83f Fixed handling of inventory a bit
- AssetType isn't InventoryType. Those enums contain different numbers. Use AssetType for the asset type, InventoryType for the inventory type.
- The ToString method (or ToLower) of AssetType/InventoryType doesn't necessarily return the correct LLSD string.
- Replaced several magic numbers by their corresponding enum.
- Fixed the invType for gestures and animations in the library.
This should fix Mantis #3610 and the non-terminating inventory loading
2009-05-09 21:11:12 +00:00
Melanie Thielker 36a02441c5 Thank you, Orion_Shamroy, for a patch to expand notecard reading
capabilities in OSSL.
Fixes Mantis #3543
2009-04-27 14:16:01 +00:00
Melanie Thielker d98a916006 Thank you, Orion_Shamroy, for a patch that adds osGetNotecardLine and
osGetNumberOfNotecardLines
Fixes Mantis #2942
2009-04-27 12:05:49 +00:00
Jeff Ames 8dbcfc70bf Add copyright headers. Formatting cleanup. 2009-04-27 05:22:44 +00:00
Charles Krinke c3d619498f Thank you kindly, Ewe Loon, for a patch that solves:
PRIM_TEXGEN not in llSetPrimitiveParams. Patch has 
been included to implement it.
2009-04-26 00:45:48 +00:00
Dr Scofield 458f7eb9b3 cleaning up, fixing warnings 2009-04-22 09:42:44 +00:00
Melanie Thielker 338655e9d5 Fix loading notecards from LSL. The first time a notecard was accessed, the
ID returned from the call would differ from the one later sent
via dataserver(), causing AOs to fail.
2009-04-22 01:43:07 +00:00
Melanie Thielker 6a8fe8a84e Prevent a null ref if a notecard is not found 2009-04-20 13:56:16 +00:00
Homer Horwitz 33e1316ced Terrain changes done via osTerrainSetHeight aren't shown immediately to the clients in
that region. I decided against sending the terrain on every call to osTerrainSetHeight
(which makes it abysmally slow), and added a osTerrainFlush instead, which should be
called after all the terrain-changes have been done. Changed some return types to
LSL types, too, and removed some end-of-line spaces.
2009-04-19 13:34:28 +00:00
Melanie Thielker d285ccb5cf Allow reading of notecards by asset ID.
Fixes Manthis #3420
2009-04-18 19:08:35 +00:00
idb 21d80b28aa Obtain the owner name for the X-SecondLife-Owner-Name header in llHTTPRequest when the owner is offline/not in the region.
Fixes Mantis #3454
2009-04-18 14:21:54 +00:00
idb d9896ff71a Correct detected rotation to return the same value as llGetRot in the object being detected.
Fixes Mantis #3467
2009-04-17 19:39:37 +00:00
Justin Clarke Casey e999c78600 * Also use the profile cache for osKey2Name() 2009-04-17 17:33:31 +00:00
Justin Clarke Casey be1855f163 * Use cached user profiles in osAvatarName2Key() 2009-04-17 17:22:58 +00:00
lbsa71 a189da844a * Moved the DefaultConfig settings into already-existing ConfigSettings 2009-04-17 15:09:37 +00:00
lbsa71 bbe1e19696 * Some more work on refactoring configs;
* Moved the constants out into a separate DefaultConfig
  * Pulled configMember up
  * Some minor CCC
2009-04-17 05:52:46 +00:00
Melanie Thielker 3c338e4e56 Convert both script engines to new region module format. Add proper unload
handling to XEngine. Add needed stubs to DotNetEngine.
2009-04-15 18:51:17 +00:00
Melanie Thielker 2864c45678 Actually remove the script if it tries to remove itself.
Fixes Mantis #2929
2009-04-12 12:03:07 +00:00
Melanie Thielker 217b2d93ae Adding a script event, changed(CHANGED_ANIMATION)
This is sent to all root prims of all attachments of an avatar when the
animation state changes. llGetAnimation() can thenbe used to find the
new movement animation. This eliminates the need for fast timers in AOs
2009-04-11 16:51:27 +00:00
Melanie Thielker 8902923b12 Introduce IXmlRpcRouter, an interface that allows registering XMLRPC
UUIDs with a central marshaller for grids, or publish the ULS for objects
elsewhere.
2009-04-10 21:08:33 +00:00
Melanie Thielker 0377ddb5de Add events to IScriptEngine to notify scripting modules of the removal
of objects from the scene, and of scripts from objects. This facilitates
the development of modules that can register prims with externall servers
for inbound email and XMLRPC. Currently implemented in XEngine only.
Also applying cmickeyb's compiler locking patch, since it seems risk-free.
2009-04-10 19:07:41 +00:00
Melanie Thielker 292672675a Thank you, OwenOyen, for a patch that corrects the behavior of llRot2Euler.
Committed with comment changes.
Fixes Mantis #3412
2009-04-10 17:26:00 +00:00
Justin Clarke Casey 30d012b297 * Apply http://opensimulator.org/mantis/view.php?id=3432
* Make llGroundSlope() return correct results
* Thanks aduffy70!
2009-04-10 14:15:47 +00:00
lbsa71 6af0751cc5 * Tagged long running tests with LongRunningAttribute.
* Now, the 144 unit tests takes roughly as long time to run (16s on my laptop) that the 10 long running takes. The database tests takes forever.
* Feel free to run the unit tests as you code, and the rest before commit.
2009-04-09 20:06:27 +00:00
Sean Dague a5ceb1a2a0 From: Christopher Yeoh <yeohc@au1.ibm.com>
The attached patch implements osKey2Name and osName2Key
which converts between a UUID key for an avatar and
an avatar name and vice-versa.

osKey2Name is similar to llKey2Name except that it will work
even if the avatar being looked up is not in the same region
as the script.
2009-04-09 15:04:02 +00:00
lbsa71 99bf4ce72f * Fixed a number of culture-variant bugs in lsl implicit type conversions. 2009-04-09 07:33:05 +00:00
lbsa71 0366cc1601 * argh. reverted untested fix that snuck into the last commit 2009-04-09 07:14:20 +00:00
lbsa71 ed33878a0f * tagged some more database tests as such 2009-04-09 07:11:49 +00:00
Dahlia Trimble d5727c8c1a Correct unit test for llAngleBetween()
Reinstate patch for Mantis #3007
2009-04-08 03:16:24 +00:00
Justin Clarke Casey ad7b005784 * minor: remove some mono compiler warnings 2009-04-07 20:24:09 +00:00
Teravus Ovares 41fab69ad5 * Remove unnecessary build dependencies on the ExamplemoneyModule stub.
(??? using OpenSim.Region.CoreModules.Avatar.Currency.SampleMoney ???)
2009-04-07 19:37:54 +00:00
Justin Clarke Casey 513ae92bbb * Apply http://opensimulator.org/mantis/view.php?id=3406
* Makes Second Life environment sensor ranges and maximum response number configurable
* Thanks Intimidated
2009-04-07 19:15:26 +00:00
Dahlia Trimble ea5b120006 temporarily revert llanglebetween patch until unit test can be updated - affects Mantis #3007 2009-04-07 17:29:55 +00:00
Dahlia Trimble e7a051d2be remove defective test criteria from unit test for llAngleBetween 2009-04-07 17:03:00 +00:00
Dahlia Trimble eb190905b5 Thanks Ewe Loon for Mantis #3007 - llAngleBetween is producing numbers greater then Pi Radians.
Also modified to use the system constant for Pi and prevent negative results.
2009-04-07 07:59:32 +00:00
Jeff Ames 465f1df592 Add copyright headers, formatting cleanup. 2009-04-06 14:36:44 +00:00
diva 75873b6253 Thanks BlueWall for a patch that adds Hypergrid dynamic linking to osTeleportAgent. Fixes mantis #3408. 2009-04-05 16:41:27 +00:00
Homer Horwitz 8136cf4075 Thanks jonc, for a patch that adds rendering of classic clouds.
First part of Mantis #964, the necessary clouds image will follow separately.
2009-04-04 15:43:02 +00:00
Melanie Thielker f17732346e Fix a nullref when compiling non-LSL scripts 2009-04-02 16:27:16 +00:00
idb b45ac2bf8e Correct llSetPrimitiveParams to check for a texture in inventory when setting the sculpt map.
This Fixes Mantis #3331
Also corrected the capping calculation in llApplyImpulse and several integer "boolean" comparisons from "== 1" to "!= 0" for true
2009-04-02 10:24:12 +00:00
lbsa71 fb9a358b79 * Refactored out and de-duplicated Base64ToString(string)
* Fixed minor typo
2009-03-31 05:51:28 +00:00
Charles Krinke 54a27f9f5c Thank you kindly, MCortez for a patch that:
With some support from HomerH, this patch adds support for Wind 
Model plugins via the mono.Addin framework.
* Adds console & OSSL access to Wind Parameters
* Adds plug-in support for custom wind models
* Provides two example Wind Model plug-ins
Documentation for the wind module is temporarily located at http://code.google.com/p/flotsam/wiki/CoreWindModule [^] 
-- will move this documentation to http://opensimulator.org [^] 
after the patch has been committed.
2009-03-31 02:33:19 +00:00
Jeff Ames 54ccca1e2c Update svn properties, add copyright header, formatting cleanup. 2009-03-31 02:00:33 +00:00
Dahlia Trimble d468b7f2d3 Thank you Flyte Xevious for Mantis #3361 - Implementation of llEdgeOfWorld 2009-03-29 23:59:14 +00:00
Teravus Ovares 52c482a7a7 * This updates LibOMV to the current release 0.6.0 on March 19 2009
* Important:  HttpServer.dll was changed to HttpServer_OpenSim.dll so that the HttpServer references do not conflict if you've copied the OpenMetaverse.Http.dll and requirements to the OpenSimulator bin folder.
This means that if you reference HttpServer.dll in any projects, you will need to change the reference to HttpServer_OpenSim.dll.   It still uses the Same HttpServer namespace though.
2009-03-27 22:13:09 +00:00
Justin Clarke Casey 3fe010d716 * minor: remove one mono compiler warning 2009-03-27 20:03:20 +00:00
Melanie Thielker 706a2df516 Read the .map files in on sim startup. Also clean them up when an assembly
is deleted.
2009-03-26 15:06:20 +00:00
Melanie Thielker eb6c1ae0c1 Avoid preprocessing scripts on region restart just to generate the line
number map. Instead, write the map to a file for later use. That is not
yet used, so currently runtime errors after a sim restart will have wrong
line numbers
2009-03-26 14:49:39 +00:00
Melanie Thielker fcab3510b3 Avoid writing script state to the filesystem if the state has not changed.
Remove the unneccessary double check that was only used to provide a
meaningless warning message for a corner case.
2009-03-26 14:28:00 +00:00
Dr Scofield c8aaf538e4 - adding osGetAgents() which returns a list of all avatars in the region
in which the script is running.

 -  found a bag of space characters under my desk, thought i'd donate them
    to the JSON OSSL function (aka clean up)
2009-03-26 12:08:18 +00:00
Dr Scofield 0bb3d2e6d7 cleanup 2009-03-25 07:36:56 +00:00
Melanie Thielker fb5f702e78 Change llGetOwnerKey to use another overload of GetSceneObject.
Fixes Mantis #3326
2009-03-24 22:12:48 +00:00
Melanie Thielker c268b71f4b Thank you, dslake, for a patch that speeds up the Delete Old Files option
in the compiler. Committed with changes.
Fixes Mantis #3325
2009-03-24 12:18:31 +00:00
Melanie Thielker c6da0fda58 Thank you, mcortez, for patch to add functionality to the sun module.
Fixes Mantis #3313
2009-03-20 22:42:21 +00:00
Justin Clarke Casey c0c929665f * Apply http://opensimulator.org/mantis/view.php?id=3311
* Store script timers in a dictionary rather than a list to make unset much more efficient
* Thanks dslake
2009-03-18 20:24:53 +00:00
MW 86d48b73e1 Fixed the looping on llParcelMediaCommandList, now PARCEL_MEDIA_COMMAND_PLAY will make the media play only once like its meant to, and PARCEL_MEDIA_COMMAND_LOOP can be used to make it loop. 2009-03-17 18:18:24 +00:00
Dr Scofield b2de81ebac From: Christopher Yeoh <yeohc@au1.ibm.com>
Attached is a patch which enabled through an OpenSim.ini option the ability
to read long notecard lines. Currently although the data is read from
the notecard it is truncated at 255 characters (same as for the LL servers.
This patch allows the setting of that limit to a different value.

    ; Maximum length of notecard line read
    ; Increasing this to large values potentially opens
    ; up the system to malicious scripters
    ; NotecardLineReadCharsMax = 255

this allows for save/restore functionality using notecards without
having to worry about very short line length limits.
2009-03-17 07:03:53 +00:00
Charles Krinke 9e0329f1dc Fixes Mantis #3294. Thank you kindly, Godfrey, for a patch that:
Attached is a patch which provides osAvatarPlayAnimation() the ability to 
also trigger animations contained within the same prim as the script, as 
llStartAnimation() does. (It also modifies osAvatarStopAnimation(), 
otherwise the script wouldn't be able to stop animations it had started.)
2009-03-15 19:45:42 +00:00
Melanie Thielker ddbf81fa07 Thank you, mcortez, for a patch that fixes a number of long standing
issues with the sun module.
Fixes Mantis #3295
2009-03-13 23:45:02 +00:00
Justin Clarke Casey acad0328b2 * Make all coded defaults match settings in OpenSim.ini.example
* In most cases, the setting in OpenSim.ini.example is taken as the canonical one since this is the file virtually everyone ends up using
* OpenSim will start up with a blank OpenSim.ini, in which case sqlite is the default database (as before)
2009-03-11 18:02:22 +00:00
Mike Mazur 8606d7d126 Remove chained tests in BasicGridTest.cs.
It's good practice to isolate unit tests so their outcome (pass/fail)
does not depend on whether another test has been run/passed/failed. A
method is used to populate the DB independently for each test, and a
TearDown method cleans up the database after each test.

Also adding extra comment in C-style comment test.
2009-03-11 00:33:34 +00:00
idb aab1601642 Limit the message length from llInstantMessage to 1024 characters http://wiki.secondlife.com/wiki/LlInstantMessage
Also truncate messages that may exceed the limit set by the packet size. The limit in OpenMetaverse is 1100 bytes including a zero byte terminator.
Fixes Mantis #3244
2009-03-07 14:16:26 +00:00
idb 23b247c519 Added the ability to set User-Agent in llHTTPRequest. No new default value has been set since having no User-Agent seems to work well but the facility is now available to set this if required. Using something based on the pattern of SLs User-Agent may well cause problems, not all web servers respond well to it. See the notes in the SL Wiki http://wiki.secondlife.com/wiki/LlHTTPRequest
Fixes Mantis #3143
2009-03-07 12:58:00 +00:00
idb 1fd57b39df Correct casts so that the target id in the at_target event matches the original target id.
Fixes Mantis #2861
2009-03-07 10:37:15 +00:00
Jeff Ames 03076b0d33 Update svn properties, minor formatting cleanup. 2009-03-07 02:39:27 +00:00
Charles Krinke b637a11b58 Fixes Mantis #3260. Thank you kindly, MCortez for a patch that:
llSetHoverHeight() should not clamp the x/y position of an object the way MoveTo does, 
and it should recalculate the absolute height to hover at as an object moves to reflect 
the current ground/water height under it.
Correctly implementing required adjusting the Physics interfaces and implementing at 
the physics plug-in level. The attached is a patch that correctly implements 
llSetHoverHeight() including updates to the ODE physics plug-in.
2009-03-06 23:01:35 +00:00
Justin Clarke Casey f12619b786 * refactor: Remove GetLandOwner function from Scene
* Simplify since the land is never null
2009-03-06 20:44:31 +00:00
Justin Clarke Casey 11e1948b57 * Replace Scene.GetLandHeight() with a straight query to Scene.Heightmap (which is used in other contexts) 2009-03-05 21:10:39 +00:00
Justin Clarke Casey 3d70dbd01d * refactor: move media and music url setting from scene into LandObject 2009-03-05 20:53:23 +00:00
Charles Krinke 62eaddbe14 Fixes Mantis #3255. Thank you kindly, MCortez, for a patch that:
Changes to IWindModule interface: Change from assuming a single array of 
256 Vector2 values to a lookup function that takes region x, y, z and returns a Vector3
* Changed llWind() to use new lookup method of IWindModule
* Moved logic for determining the wind at a given point in the data array from 
llWind() to the Wind Module itself.
2009-03-05 04:24:22 +00:00
Charles Krinke 365b5951ff Fixes Mantis #3194. Thank you kindly, Godfrey for a patch that:
fixes llSetLinkPrimitiveParams() - PRIM_ROTATION rotates the prim 
containing the script, rather than the specified child prim
2009-03-05 03:20:28 +00:00
Charles Krinke f7b914228b Fixes Mantis #3253. Thank you kindly, Godfrey, for a patch that:
Corrects the incomplete implementation of llXorBase64StringsCorrect()
so that it returns the proper reversible result.
2009-03-05 03:15:30 +00:00
MW 202f990d2a After another heroic and bloody battle, OpenSim Dino Expedition 1, killed off OsSetParcelMediaTime, which was only ever added for testing. And all the logic code of it has been commented out for a long time. 2009-03-02 11:03:11 +00:00
Sean Dague 7f727bd33e This adds a new osGetAgentIP function with threat level set to High. It
isn't tested, but it doesn't break anything else.  The reason for this
function is to let in world tools be used to coordiante out of world
network services that need access to client ip addresses.
2009-02-26 22:37:02 +00:00
Justin Clarke Casey 36e648a37a * minor: Remove most mono compiler warnings 2009-02-25 20:53:02 +00:00
Mike Mazur 64c14d2475 Allow /* C-style comments */ in LSL scripts.
This fixes Mantis #3199. opensim-libs SVN r87 contains the corresponding
changes.
2009-02-25 05:37:57 +00:00
Charles Krinke ed7256ac0c Fixes Mantis #3187. Thank you kindly, DoranZemlja for a patch that:
Deals with the multiple warning side affect introduced earlier.
2009-02-25 04:29:02 +00:00
Jeff Ames f175cb7e8c Update svn properties, add copyright headers, minor formatting cleanup. 2009-02-23 10:36:16 +00:00
Charles Krinke 08c76989a7 Mantis#3187. Thank you kindly, DoranZemlja for a patch that:
Adds a warning for an LSL construct that exploits a
popular list memory saving hack.
2009-02-23 02:43:51 +00:00
Charles Krinke 8f55b9d735 Mantis#3218. Thank you kindly, TLaukkan (Tommil) for a patch that:
* Added log4net dependency to physxplugin in prebuild.xml.
* Added missing m_log fields to classes.
* Replaced Console.WriteLine with appropriate m_log.Xxxx
* Tested that nant test target runs succesfully.
* Tested that local opensim sandbox starts up without errors.
2009-02-22 20:52:55 +00:00
Jeff Ames 818af9d482 Refactor log4net logger handling in script engine. (#3148) 2009-02-22 01:26:18 +00:00
Charles Krinke cdbd52e55b Thank you kindly, DoranZemlja for a patch that:
Solves the Object-Key problem when using llHTTPRequest()
2009-02-21 17:50:46 +00:00
Jeff Ames 7a649a758d Add copyright headers. Minor formatting cleanup. 2009-02-21 03:32:25 +00:00
Melanie Thielker d76178f302 Thank you, robsmart, for a patch that allows the shard to be set.
The built-in default is OpenSim, unless a user server url is given, then
that is used, unless "shard" is also goven, then shard takes precedence.
The defult in OpenSim.ini is "OpenSim" for compatibility.
2009-02-21 00:14:47 +00:00
Justin Clarke Casey 01f70de2ea * Consistently lock part.TaskInventory as pointed out in http://opensimulator.org/mantis/view.php?id=3159
* Not locking causes enumeration exceptions as described in this matis
* part.TaskInventory needs to be locked for every access as it's a dictionary
* Extra locking will hopefully not cause any major issues - in places where the enumeration of the dictionary performs other lock or long running operations, the dictionary is 
cloned instead
2009-02-20 14:04:29 +00:00
Mike Mazur a42499c947 Thanks DoranZemlja for a patch implementing non-shortcircuiting in
logical and and logical or in LSL. Fixes Mantis #3174.
2009-02-20 07:40:36 +00:00
Melanie Thielker eb143d556d Force plugin state update when region crossing 2009-02-19 05:31:17 +00:00
Melanie Thielker e7c05744c0 Try this, then :) remove just one line from script serialization,
hunting the bug
2009-02-19 05:24:19 +00:00
Melanie Thielker 4e2dc730fd Refix the fix, adding a forgotten line 2009-02-19 05:18:23 +00:00
Melanie Thielker 2478d38b85 Attempt to fix a Windows only race in thread termination 2009-02-19 05:16:25 +00:00
Melanie Thielker 0086f9bd92 Fix the windows sharing violations on script crossings 2009-02-18 22:32:25 +00:00
Sean Dague 383f8b3ac6 From: Christopher Yeoh <yeohc@au1.ibm.com>
The attached patch implements osGetDrawStringSize that looks like:

vector osGetDrawStringSize(string contentType, string text, string
fontName, int fontSize)

in LSL. It is meant to be used in conjunction with the osDraw*
functions. It returns accurate information on the size that a given
string will be rendered given the specified font and font size.
This allows for nicely formatted and positioned text on the generated
image.
2009-02-18 12:56:36 +00:00
Melanie Thielker 3130784934 Re-add the objectID field to the anim pack, that was deemed unneccessary
and dropped nonths ago, because it is required to get smooth region
crossings with AO running. Without it, in some corner cases, anims will
continue to run in an unstoppable state.
2009-02-17 04:16:42 +00:00
Mike Mazur 76c0935ec7 - remove the Metadata property from AssetBase and return all previous
properties as before
- prefix private variables with m_ in AssetBase.cs
- related to Mantis #3122, as mentioned in
  https://lists.berlios.de/pipermail/opensim-dev/2009-February/005088.html
- all services will likely need to be upgraded after this commit
2009-02-17 01:36:44 +00:00
Dr Scofield d97dd2bdb4 cleanup 2009-02-16 20:13:59 +00:00
Dr Scofield 4e1f060dd1 From: alan webb <alan_webb@us.ibm.com> & dr scofield <drscofield@xyzzyxyzzy.net>
This changeset fixes a rather nasty script compile bug that manifests
itself under heavy load.
2009-02-16 20:01:54 +00:00
Justin Clarke Casey 93837807ff * refactor: remove AssetCache field hanging off Scene
* This is always available at Scene.CommsManager.AssetCache
2009-02-16 19:15:16 +00:00
Justin Clarke Casey 9dadf7adfd * Apply http://opensimulator.org/mantis/view.php?id=3165
* Corrects behaviour of llListSort()
* Thanks DoranZemlja!
2009-02-16 16:31:07 +00:00
Melanie Thielker 37a00427bc Thank you, cmickeyb, for a patch to ass two string functions
to OSSL.
Fixes Mantis #3173
2009-02-16 01:58:26 +00:00
Melanie Thielker 7d77e0e703 Thank you, patnad, for a patch that adds 3 new discovery functions
to OSSL.
Applied with changes.
Fixes Mantis #3172
2009-02-16 01:22:37 +00:00
Melanie Thielker 4bc52888be Thank you, DoranZemlja, for a patch that implements local inter-object email
delivery.
Leaving Mantis #3145 open so that more code can be added.
2009-02-14 21:25:22 +00:00
idb 67b0ba71da Add an override for the % operator.
Fixes Mantis #3157
2009-02-14 18:09:08 +00:00
idb 63a1cab7fe Correct llGetNumberOfPrims to include sitting avatars in the count. 2009-02-13 21:56:50 +00:00
Jeff Ames 163c1026d1 Fix some compiler warnings. Minor formatting cleanup. 2009-02-13 02:52:08 +00:00
Charles Krinke 6b187ae196 Thank you kindly, FrankNichols for a patch that:
The following patch fixes http://opensimulator.org/mantis/view.php?id=3107 
[^] by changing call from setRot to llSetRot, the later handles 
child prim being rotated relative to root prim in linked set.
2009-02-11 16:01:56 +00:00
Sean Dague ac6657d0f1 From Rob Smart <SMARTROB@uk.ibm.com>
In SL if llAbs() is called with the minimum integer value of -2147483648
it will return that value untouched without error.

this patch replicates the SL functionality.

OpenSim currently throws an overflow exception: number too small under
mono or a "System.OverflowException: Negating the minimum value of a
twos complement number is invalid. " under .NET
2009-02-10 13:36:42 +00:00
Dr Scofield 180be7de07 this is step 2 of 2 of the OpenSim.Region.Environment refactor.
NOTHING has been deleted or moved off to forge at this point.  what
has happened is that OpenSim.Region.Environment.Modules has been split
in two:

- OpenSim.Region.CoreModules: all those modules that are either
  directly or indirectly referenced from  other  OpenSim packages, or
  that provide functionality that the OpenSim developer community
  considers core functionality:

      CoreModules/Agent/AssetTransaction
      CoreModules/Agent/Capabilities
      CoreModules/Agent/TextureDownload
      CoreModules/Agent/TextureSender
      CoreModules/Agent/TextureSender/Tests
      CoreModules/Agent/Xfer
      CoreModules/Avatar/AvatarFactory
      CoreModules/Avatar/Chat/ChatModule
      CoreModules/Avatar/Combat
      CoreModules/Avatar/Currency/SampleMoney
      CoreModules/Avatar/Dialog
      CoreModules/Avatar/Friends
      CoreModules/Avatar/Gestures
      CoreModules/Avatar/Groups
      CoreModules/Avatar/InstantMessage
      CoreModules/Avatar/Inventory
      CoreModules/Avatar/Inventory/Archiver
      CoreModules/Avatar/Inventory/Transfer
      CoreModules/Avatar/Lure
      CoreModules/Avatar/ObjectCaps
      CoreModules/Avatar/Profiles
      CoreModules/Communications/Local
      CoreModules/Communications/REST
      CoreModules/Framework/EventQueue
      CoreModules/Framework/InterfaceCommander
      CoreModules/Hypergrid
      CoreModules/InterGrid
      CoreModules/Scripting/DynamicTexture
      CoreModules/Scripting/EMailModules
      CoreModules/Scripting/HttpRequest
      CoreModules/Scripting/LoadImageURL
      CoreModules/Scripting/VectorRender
      CoreModules/Scripting/WorldComm
      CoreModules/Scripting/XMLRPC
      CoreModules/World/Archiver
      CoreModules/World/Archiver/Tests
      CoreModules/World/Estate
      CoreModules/World/Land
      CoreModules/World/Permissions
      CoreModules/World/Serialiser
      CoreModules/World/Sound
      CoreModules/World/Sun
      CoreModules/World/Terrain
      CoreModules/World/Terrain/DefaultEffects
      CoreModules/World/Terrain/DefaultEffects/bin
      CoreModules/World/Terrain/DefaultEffects/bin/Debug
      CoreModules/World/Terrain/Effects
      CoreModules/World/Terrain/FileLoaders
      CoreModules/World/Terrain/FloodBrushes
      CoreModules/World/Terrain/PaintBrushes
      CoreModules/World/Terrain/Tests
      CoreModules/World/Vegetation
      CoreModules/World/Wind
      CoreModules/World/WorldMap

- OpenSim.Region.OptionalModules: all those modules that are not core
  modules:

      OptionalModules/Avatar/Chat/IRC-stuff
      OptionalModules/Avatar/Concierge
      OptionalModules/Avatar/Voice/AsterixVoice
      OptionalModules/Avatar/Voice/SIPVoice
      OptionalModules/ContentManagementSystem
      OptionalModules/Grid/Interregion
      OptionalModules/Python
      OptionalModules/SvnSerialiser
      OptionalModules/World/NPC
      OptionalModules/World/TreePopulator
2009-02-10 13:10:57 +00:00
Jeff Ames a3d14832af Update svn properties, minor formatting cleanup. 2009-02-09 22:49:05 +00:00
Sean Dague 66dc421be7 a last set of files that seem to have embedded ^M in them 2009-02-09 20:06:06 +00:00
Dr Scofield b1739cbbfd fixing warnings. 2009-02-09 10:40:12 +00:00
Dr Scofield 07804f6937 This patch implements llLookAt to the extent that an object will correctly
rotate and point to the target, however it doesnt yet use the damping or
strength parameters.

From: Robert Smart <smartrob@uk.ibm.com>
2009-02-09 10:04:54 +00:00
Mike Mazur 9a33a4733e Thanks Tommi Laukkanen for a patch that allows the
CSCodeGeneratorTest.TestStringsWithEscapedQuotesAndComments unit test to
pass on Windows. Fixes Mantis #3104.
2009-02-09 00:59:02 +00:00
Charles Krinke 63fd4c0fb2 Thank you kindly, TLaukkan (Tommil) for a patch that:
Created nunit test for LSL API and example test for 
llAngleBetween which was marked untested in wiki. 
Run new test succesfully with NUnitGUI and nant build.
2009-02-07 18:11:04 +00:00
Sean Dague 6bd2979486 the parameters for llAtan2 were inverted before passing to Math.
Thanks to Rob Smart for pointing this out.
2009-02-07 13:16:27 +00:00
Melanie Thielker 54c6a920ba Replace the console for all OpenSim apps with a new console featuring command
line editing, context sensitive help (press ? at any time), command line
history, a new plugin command system and new appender features thet let you
type while the console is scrolling. Seamlessly integrates the ICommander
interfaces.
2009-02-07 12:25:39 +00:00
Dr Scofield 9b66108081 This changeset is the step 1 of 2 in refactoring
OpenSim.Region.Environment into a "framework" part and a modules only
part. This first changeset refactors OpenSim.Region.Environment.Scenes,
OpenSim.Region.Environment.Interfaces, and OpenSim.Region.Interfaces
into OpenSim.Region.Framework.{Interfaces,Scenes} leaving only region
modules in OpenSim.Region.Environment.

The next step will be to move region modules up from
OpenSim.Region.Environment.Modules to OpenSim.Region.CoreModules and
then sort out which modules are really core modules and which should
move out to forge.

I've been very careful to NOT BREAK anything. i hope i've
succeeded. as this is the work of a whole week i hope i managed to
keep track with the applied patches of the last week --- could any of
you that did check in stuff have a look at whether it survived? thx!
2009-02-06 16:55:34 +00:00
Mike Mazur 0c03a48fb2 - add OpenSim.Framework.AssetMetadata class. AssetBase is now composed of it
- trim trailing whitespace
2009-02-04 00:01:36 +00:00
Justin Clarke Casey 2009d1aa01 * Fission SceneObjectTests into basic and linking sets 2009-02-03 20:13:34 +00:00
Justin Clarke Casey 984cf94375 * Lock the parts for the old group while we're clearing it as well - not much point doing one without the other
* Shouldn't result in any deadlocks as I don't think there are any locks in the calling code
2009-02-03 19:36:57 +00:00
Jeff Ames 496ed4488d Minor formatting cleanup. 2009-02-02 09:01:00 +00:00
Charles Krinke 50536c66a0 Thank you kindly, TLaukkan (Tommil) for a patch that:
Added osTeleportAgent with region coordinates to 
support hyper grid scripted teleports.
2009-02-01 17:41:33 +00:00
idb aad843fc2c Correct the method signature on llMakeFountain. 2009-02-01 15:12:32 +00:00
idb 1a14066aa6 Speed improvement mostly when sensing objects especially noticeable in a sim with many objects. 2009-01-31 19:02:09 +00:00
Charles Krinke 4a120e9dd5 Flesh out llGetAgentLanguage to return "en-us" until
we have an I18N committee for internationalization.
2009-01-31 18:27:44 +00:00
idb ea6e4a95ce Complete the implementation of llSHA1String. 2009-01-29 19:47:55 +00:00
Justin Clarke Casey 6e63e93ec7 * minor: just a few formatting changes and log quietening 2009-01-29 18:39:33 +00:00
Dr Scofield ce1e1854b1 From: Christopher Yeoh <yeohc@au1.ibm.com>
This changeset fixes a race condition where a script (XEngine run) can
startup before a reference is added to it in all of the required
places in the XEngine class. The effect of this is that a script can
sometimes on startup miss script events. For example a script which
starts up and initialises itself from a notecard may never receive the
dataserver event containing the notecard information.

The patch isn't as clean as I'd like - I've split the constructor of
ScriptInstance up so it does everything it did before except
call Startup and post events like state_entry and on_rez. An Init
function has been added which is called after the ScriptInstance
object has been added to the necessary data structures in XEngine.

Happy to rework it if someone suggests a better way of doing it.
2009-01-28 09:52:09 +00:00
Charles Krinke fe18adbc11 Add in a stub for llSHA1String. I believe it is the only one new
function we were missing.
2009-01-28 04:50:25 +00:00
idb b0cb272d12 Remove the addition of the region coordinates to obtain the absolute position of a prim/person on the grid. I believe it is superfluous and removes needed decimal places for short range sensors.
Fixes Manitis #3046
2009-01-25 21:13:42 +00:00
idb aa2521623c Add an override of the ! operator to lsl integer.
Fixes Mantis #3041
2009-01-25 10:17:26 +00:00
idb 04a565e6b1 Fix for llGetRot when the script is in a child prim. Also fixed llGetPrimitiveParams for PRIM_ROTATION.
Fixes Mantis #3023
2009-01-23 18:10:31 +00:00
Justin Clarke Casey ddff7ab20e * Add direct stream loading and saving methods to the archive module.
* The async stream method does not yet signal completion to interested calling code
2009-01-23 17:07:37 +00:00
idb 757762a630 Implement missing LSL TEXTURE_xxx constants including two new textures.
Fixes Mantis #3030
2009-01-22 23:58:46 +00:00
idb afc48ce39c Added overrides for == and != for list.
Fixes Mantis #3002
2009-01-20 00:10:39 +00:00
idb 63d2885008 Moved applying an impulse to a newly rezzed object to minimise the delay getting the object moving. 2009-01-18 14:46:43 +00:00
Melanie Thielker 96d6c6b1f3 Change list type to compare length instead of references.
Fixes Mantis #3002
2009-01-17 18:35:40 +00:00
Jeff Ames 23bd915ecd Minor formatting cleanup, add copyright header. 2009-01-16 04:42:24 +00:00
Dr Scofield 9bcaf98e37 From: Christopher Yeoh <yeohc@au1.ibm.com>
The attached patch adds the automatic granting of PERMISSION_CONTROL_CAMERA
on request to a script when an avatar is sitting on the object that the script
resides in.

It also automatically removes PERMISSION_TAKE_CONTROLS and PERMISSION_CONTROL_CAMERA
from the scripts when an avatar stands up. It doesn't remove the other automatically
granted permissions but this follows LL server behavior. Removing these two
permissions avoids some potential race conditions (accidentally taking
control after the avatar has stood up) which may be why LL put
them in the first place.
2009-01-13 08:15:43 +00:00
Mike Mazur a7bc56073c Make ZERO_ROTATION.y a float. Fixes Mantis #2985. 2009-01-12 09:04:31 +00:00
Justin Clarke Casey af49acd6cc * refactor: move url sending from scene to DialogModule 2009-01-08 19:28:10 +00:00
Justin Clarke Casey e7bb27b5bd * refactor: move code to send a dialog to a user from scene to DialogModule 2009-01-08 19:14:52 +00:00
Justin Clarke Casey 1aa9e63428 * Move general alert code to DialogModule.
* Should be a clean build - last failure looked like a mantis hiccup
2009-01-07 20:29:09 +00:00
Teravus Ovares b1a677630f * Adding some recognizable and search-able test to some WriteLine(e.ToString()) messages so that when they occur, we can figure out what threw them. 2009-01-02 14:24:49 +00:00
Jeff Ames 2be0f7a6f0 Update svn properties, minor formatting cleanup. 2008-12-30 01:08:07 +00:00
Justin Clarke Casey c1320112a9 * Add a method to allow friendship offers to a logged in client from an offline user directly from the server 2008-12-23 17:16:47 +00:00
Melanie Thielker a7a0b5e1ae Fix the error i got sidetracked from :/ 2008-12-22 14:41:18 +00:00
Melanie Thielker a3b67ec8c7 Fix "from" link number in single prims to 0. Previously, this was 1,
causing sime scripts that expected the first param of the link_message
to match llGetLinkNumber() to fail in single prims
2008-12-22 13:03:30 +00:00
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
idb d7a19adcac Persist script permission mask and granter 2008-12-21 13:28:51 +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
idb 795cdf624b Added ATTACH_HUD_* constants fixes Mantis #2823 2008-12-14 12:14:23 +00:00
idb 1ba76f57ba Made the casting of stings to floats more robust and work more like SL.
Added some more tests that casts previously failed on.
Fixes Mantis #2789
2008-12-12 11:50:12 +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
Homer Horwitz 7083be07b0 Allow empty statements in LSL (; followed by ;). Fixes Mantis#2320 2008-12-07 19:20:45 +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
Melanie Thielker 4636e5fc01 Remove a line of debug info in XEngine that i missed 2008-12-03 03:28:28 +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
Melanie Thielker 5a7ffb7298 Remove some of the XEngine chattiness 2008-12-02 12:12:50 +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
Jeff Ames 077314cdd3 Update svn properties. Add copyright header. Minor formatting cleanup. 2008-11-30 00:51:40 +00:00
Melanie Thielker af5e9147f0 Start scripts in attachments only after a successful attach. Elimininate
a gratuitious asset fetch when region crossing.
2008-11-29 14:16:09 +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
Melanie Thielker 1952a67ceb Comment the ScriptSponsor and restore the indefinite lifetime for
scripts until that can be better debugged
2008-11-29 07:10:00 +00:00
Justin Clarke Casey 8ba6b2b11a * minor: remove mono compiler warnings 2008-11-27 19:51:11 +00:00
Tedd Hansen 1eeffcd89e Test commit.. just contains div trace and other stuff. 2008-11-27 13:41:26 +00:00
Tedd Hansen 1767100316 ScriptSponsor and LSL_Api are now MarshalByRefObject 2008-11-26 14:23:46 +00:00
Tedd Hansen e2b6ad4d5f Made ScriptSponsor serializable 2008-11-26 13:25:56 +00:00
Melanie Thielker fdf5f55a5b Yay for unit tests. Increased the type width of the prims and primshapes
tables, and changed the database modules to actually push these doubles
down into the database layer.
2008-11-26 12:23:56 +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
Melanie Thielker 30b626024c Fix the PAY_HIDE and PAY_DEFAULT constants to be LSLIntegers and get
accepted in the quick buttons list
2008-11-17 17:59:15 +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
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