Commit Graph

270 Commits (9b5f840d1906ebbf40cb4618409d6f90abc224d8)

Author SHA1 Message Date
Tom 66dec3b874 Resolve merge commits, stage 1 2011-09-04 07:06:36 -07:00
Justin Clark-Casey (justincc) 7eca929686 Eliminate pointless checks of SOG.RootPart != null
It's never possible for SOG to have no RootPart, except in the first few picosends of the big bang when it's pulled from region persistence or deserialized
2011-09-01 02:11:00 +01:00
Justin Clark-Casey (justincc) 095b3e5756 Remove pointless cluttering SOP.ParentGroup != null checks.
The only times when ParentGroup might be null is during regression tests (which might not be a valid thing) and when scene objects are being constructed from the database.
At all other times it's not possible for a SOP not to have a SOG parent.
2011-09-01 01:22:28 +01:00
Justin Clark-Casey (justincc) cf3ffe5bb4 Fix llAttachToAvatar()
Apart from one obvious bug, this was failing because attempting to serialize the script from inside the script (as part of saving the attachment as an inventory asset) was triggering an extremely long delay.
So we now don't do this.  The state will be serialized anyway when the avatar normally logs out.
The worst that can happen is that if the client/server crashes, the attachment scripts start without previous state.
2011-08-24 20:49:23 +01:00
Melanie 61d4291da5 Create a method to force the script engine to save state from outside 2011-05-24 03:17:12 +01:00
Melanie d5841e07c2 Create a method to force the script engine to save state from outside 2011-05-24 02:40:59 +02:00
Melanie be1996f121 Merge branch 'master' into careminster-presence-refactor 2011-05-22 20:23:25 +01:00
Justin Clark-Casey (justincc) bb9b317f15 Get rid of OpenSim.Tests.Common.Setup subpackage in favour of just OpenSim.Tests.Common instead 2011-05-21 01:05:20 +01:00
Melanie 4beb0c9b9b Merge branch 'master' into careminster-presence-refactor 2011-05-05 09:49:10 +01:00
Diva Canto d8ee0cbe1c First stab at cleaning up Caps. Compiles. Untested. 2011-04-30 09:24:15 -07:00
Melanie c271bbcc8a Preserve the script running flag when copying an object. 2011-01-08 16:44:28 +01:00
Melanie efc555ca22 Actually set the PrivateBinPath in XEngine so relocating the scripts
directory works
2010-10-16 10:50:07 +02:00
Melanie 6f689f591a Merge Master 2010-09-26 17:56:31 +01:00
BlueWall 4f25b73b57 Add configurable path to script engine assemblies
Adding ability to place script engine assemblies outside
	the codebase directories.

	Uses new [XEngine] option: ScriptEnginesPath = "path_to_assemblies"

Signed-off-by: Melanie <melanie@t-data.com>
2010-09-26 02:30:46 +01:00
Melanie 6a1ce17cdb Merge branch 'master' into careminster-presence-refactor
The modules will need to be updated for this to compile and run again. Please
don't use until I do the companion commit to modules later on.
2010-09-13 16:17:38 +01:00
Jeff Ames f1f0bc23f4 Formatting cleanup. 2010-09-12 13:43:49 -04:00
Melanie 1bfec00a88 Merge branch 'master' into careminster-presence-refactor 2010-08-23 23:55:15 +01:00
Justin Clark-Casey (justincc) 74e5fe5aa9 Remove various warnings and improve logging messages. No functional changes. 2010-08-23 22:24:23 +01:00
meta7 f0bad66d41 For my own sanity, fix a bug in xengine 2010-08-09 23:34:37 -07:00
Melanie 686837d9ed Merge branch 'master' into careminster-presence-refactor 2010-07-20 21:18:27 +01:00
Diva Canto b7f1288361 Adding it again.
Revert "Reverting this for now, but this needs to go in again."

This reverts commit c0d9ab941d.
2010-07-20 04:23:39 -07:00
Diva Canto c0d9ab941d Reverting this for now, but this needs to go in again.
Revert "Another stab at http://opensimulator.org/mantis/view.php?id=4858. Eliminated more nested locks."

This reverts commit ffbae52a13.
2010-07-19 16:22:29 -07:00
Diva Canto ffbae52a13 Another stab at http://opensimulator.org/mantis/view.php?id=4858. Eliminated more nested locks. 2010-07-19 15:20:34 -07:00
Diva Canto 5c0c7fda6c One more stab at http://opensimulator.org/mantis/view.php?id=4858.
Eliminated the nested locks of m_Scripts and m_PrimObjects.
2010-07-19 13:59:11 -07:00
Melanie fa45d5b5fa Revert "A stab in the dark. Revert the compile lockout temporarily. If you know what"
This reverts commit f798679b80.
2010-07-19 01:10:57 +01:00
Melanie f798679b80 A stab in the dark. Revert the compile lockout temporarily. If you know what
this is, you should test it. If you don't, don't use it.
2010-07-19 00:06:23 +01:00
Melanie 922e874653 Merge branch 'master' into careminster-presence-refactor 2010-07-11 13:32:10 +01:00
Melanie eaea89bbb7 Remove localID from script controls data. It won't transfer to another
region anyway
2010-07-11 13:09:11 +01:00
unknown 6352fc5f57 Bug in 0.6.9 sometimes restoring script state causes region console to crash due to unhandled file lock exception. Attempt to resolve by wrapping several instances of file create / read logic in using statements and added some error handling for locked file exceptions. If it is IDisposable, it must be disposed! The close statements are unnecessary but harmless so I have left those in. The end of the using block will close and dispose automagically. 2010-07-09 18:23:48 +01:00
Melanie ec73074aac Merge branch 'master' into careminster-presence-refactor 2010-07-02 03:02:53 +01:00
Justin Clark-Casey (justincc) 54d7f6ef43 Add region name on the end of script startup debug messages 2010-07-01 21:34:53 +01:00
Melanie 46a531d865 Merge branch 'master' into careminster-presence-refactor 2010-06-30 21:35:05 +01:00
Melanie 1db2921782 Fix scripts in rezzed objects not starting (Mantis #4775) 2010-06-30 21:25:39 +01:00
Melanie 6701fc2ffa Fix the XML serializationt to provide an empty script state element if
the script hasn't yet saved state, or can't save state because of a loop
2010-06-29 21:50:52 +01:00
Melanie 6b2d2413f7 Merge branch 'master' into careminster-presence-refactor 2010-06-09 16:48:37 +01:00
Melanie 16439fa354 If a script is deleted before it gets compiled, don't even bother to try
compiling it
2010-06-09 03:51:43 +01:00
Melanie 98cb4f74b2 Merge branch 'master' into careminster-presence-refactor 2010-04-19 07:00:40 +01:00
Melanie 21cad5d3ac All scripts are now created suspended and are only unsuspended when the object
is fully rezzed and all scripts in it are instantiated. This ensures that link
messages will not be lost on rez/region crossing and makes heavily scripted
objects reliable.
2010-04-19 06:29:26 +01:00
Jeff Ames af265e001d Formatting cleanup. 2010-02-15 19:21:56 +09:00
Melanie d5ed92cf38 Merge branch 'master' into careminster 2010-02-02 03:56:29 +00:00
Justin Clark-Casey (justincc) 05a3e37b85 Apply http://opensimulator.org/mantis/view.php?id=3334
Send continuous touch() events if the left mouse button is held down while moving over an object
This conforms with Linden Lab practice
Thanks Revolution
2010-01-29 23:12:08 +00:00
Melanie e9c9a74e0a Some merge fixups 2010-01-26 15:12:41 +00:00
Melanie b80ea00265 Merge branch 'master' into careminster 2010-01-26 14:53:14 +00:00
Justin Clark-Casey (justincc) 38cfc9366c Fix a problem where llDie() calls were sometimes leaving dead objects behind.
When an object was deleted, the remove script instance call was aggregating the scripting events as normal.
This would queue a full update of the prim before the viewer was notifed of the deletion of that prim (QuitPacket)
On some occasions, the QuitPacket would be sent before the full update was dequeued and sent.
In principle, you would think that a viewer would ignore updates for deleted prims.  But it appears that in the Linden viewer (1.23.5),
a prim update that arrives after the prim was deleted instead makes the deleted prim persist in the viewer.  Such prims have no properties
and cannot be removed from the viewer except by a relog.
This change stops the prim event aggregation call if it's being deleted anyway, hence removing the spurious viewer-confusing update.
2010-01-25 21:51:58 +00:00
Melanie 649d45a2d4 Merge branch 'master' into careminster 2010-01-11 02:04:58 +00:00
Melanie 2320b17ca9 Whitespace cleanup 2010-01-11 02:04:05 +00:00
Melanie 0ae861d7d7 Merge branch 'master' into careminster 2010-01-11 02:01:23 +00:00
Revolution a0859754c0 Adds llRotTarget and the events at_rot_target and not_at_rot_target.
Signed-off-by: Melanie <melanie@t-data.com>
2010-01-11 02:00:40 +00:00
Melanie 511481e8d9 Merge branch 'master' into careminster 2010-01-10 19:59:49 +00:00
Revolution 038ec133e6 Adds land collision events.
CRs cleaned from patch

Signed-off-by: Melanie <melanie@t-data.com>
2010-01-10 19:58:18 +00:00
Melanie 61ce884336 Merge branch 'master' into careminster 2010-01-03 21:43:39 +00:00
Jeff Ames 70d5b1c34c Formatting cleanup. Add copyright headers. 2010-01-04 06:17:30 +09:00
CasperW a9f4d7a29c Add a debugger tag to stop Visual Studio from breaking 2009-12-23 17:34:08 +01:00
Melanie 30f59370d3 Merge branch 'master' into careminster 2009-12-22 15:48:41 +00:00
Melanie c11f259e15 Remove GetState. It is really unused and was reinstated by the revert 2009-12-22 15:46:55 +00:00
Melanie a24d9bff03 Revert "Remove an insterface member that was never used"
It was used. By the API, which is dynamically loaded. So it didn't complain
until it hit Bamboo

This reverts commit 33d5018e94.
2009-12-22 15:45:56 +00:00
Melanie 73491cceed Merge branch 'master' into careminster 2009-12-22 15:37:24 +00:00
Melanie 33d5018e94 Remove an insterface member that was never used 2009-12-22 15:35:39 +00:00
Melanie 28c7bb99bf Merge branch 'master' into careminster 2009-12-22 09:30:50 +00:00
Melanie 1876ce90af FINALLY! Script compile errors now appear in the script error pane,
not in a funky debug window.
2009-12-22 09:24:01 +00:00
root b53b871669 Add a data path for error messages 2009-12-22 06:25:32 +01:00
root 05e8b4e72c Add a data path for error messages
Committed from my other box where git is not configured properly

Signed-off-by: Melanie <melanie@t-data.com>
2009-12-22 04:55:43 +00:00
Melanie df30b1c832 Merge branch 'master' into careminster 2009-12-21 10:28:50 +00:00
Melanie 27453890d5 Script State Fix: Part 2
Change the reader to wrap old-style definitions in new style wrappers.
Change importer to not check irrelevant data that can't be reconstructed
This removes the last bit of knowledge of XEngine's .state files from core.
2009-12-21 10:26:52 +00:00
Melanie 83d8ba5775 Remove extra checking on the itemID of saved state, since it changes during
rez from inventory.
2009-12-21 06:41:10 +00:00
Melanie f6ef487413 Script State Fix: Step 1
Add Engine=xxx attribute and check for it's presence. Ignore state data
written bby another engine
2009-12-21 06:29:23 +00:00
CasperW 172e2f4e76 Fix to existing ReaderWriterLockSlim implementations 2009-12-06 17:23:07 +01:00
CasperW 9888f95068 Convert multiple lock()s which directly hinder script performance in linksets to ReaderWriterLockSlim. 2009-11-30 21:17:15 +01:00
Melanie d3e7a52933 Merge branch 'master' into careminster 2009-11-28 09:26:00 +00:00
Justin Clark-Casey (justincc) 55a0896918 minor: remove mono compiler warning 2009-11-27 19:28:26 +00:00
Melanie 06f41bb017 Merge branch 'master' into careminster 2009-11-26 17:27:03 +00:00
Melanie c6bfecccaa Fix a small bug. Trusted script crossings now work again 2009-11-26 17:16:22 +00:00
Melanie 9d63f90467 Remove the old (Remoting) region crossing code. Fix the new code to
pass script state and assembly again properly. Reintroduce respecting tht
TrustBinaries flag. Changes the interregion protocol! No version bump
because it was broken anyway, so with a version mismatch it will simply
stay broken, but not crash. Region corssing still doesn't work because
there is still monkey business with both rezzed prims being pushed across
a border and attached prims when walking across a border. Teleport is
untested by may work.
2009-11-26 17:03:09 +00:00
Melanie 22c325aa5a Remove GetAssemblyName and friends from the SE interface. It's now handled
internally
2009-11-26 13:13:48 +00:00
Melanie 88842edc95 Remove GetAssemblyName and friends from the SE interface. It's now handled
internally
2009-11-26 12:08:20 +00:00
CasperW 889ce36afa Added some [DebuggerNonUserCode] modifiers to functions that throw EventAbortException() to ease debugging on Visual Studio 2009-11-23 17:59:24 +01:00
Melanie 00130841db Remove parallel loading from XEngine, but retain the new design where
all scripts are loaded from the same thread, rather than launching a
new one for each script. This is only marginally slower, but avoids the
race condition that led to script engine failure.
2009-11-03 20:23:50 +00:00
John Hurliman ec7fd8b1f8 More performance improvements to XEngine script loading 2009-10-29 06:42:40 -07:00
John Hurliman dd13fa361b * Misc. formatting cleanup for the previous patch
* Added the new AppDomainLoading variable to the [XEngine] section in the example config
2009-10-29 05:56:37 -07:00
Dan Lake 33448e4ba8 Optimizations 2009-10-29 05:39:18 -07:00
Melanie 66923983a7 Add support for display of the script compilation errors in the script editor's
debug pane. This will still use DEBUG_CHANNEL currently, since it is not
fully implemented. This also removes the "Compiled successfully" message
that pops up in the viewer.
2009-10-17 22:36:44 +01:00
Justin Clark-Casey (justincc) f1f239758f Apply http://opensimulator.org/mantis/view.php?id=4066
If XEngine compile fails, show script name in error message in-world as well as the exception itself
Thanks Luca Peck
2009-10-09 17:43:25 +01:00
Jeff Ames ee205e7e81 Formatting cleanup. 2009-10-01 01:17:47 +09:00
Melanie 090868ff4a Change the return value if the compiler to "object" to allow compilers
to return dynamic method objects
2009-08-31 11:42:54 +01:00
Teravus Ovares (Dan Olivares) 4eeab4097a * minor: comments 2009-08-16 12:10:06 -04:00
Teravus Ovares (Dan Olivares) ddac88da6a * whoops, missing a / 2009-08-15 00:29:34 -04:00
Teravus Ovares (Dan Olivares) 72c2819c53 * Comment out XEngineTest that doesn't appear to test anything. It just creates a scene named 'My Test' which just happens to be the last scene displayed in the nunit log before it goes boom. 2009-08-15 00:22:18 -04:00
Melanie 73b0cf492d Add some extra info to script load messages 2009-08-14 01:35:14 +01:00
Melanie eba23048ca Replace the Replaceable modules name 2009-08-10 23:08:22 +01:00
Melanie 4ee8d8a813 Another stab at cmickeyb's patch for script GC.
Moved the Close() for the appdomain-hosted parts into a new destructor
on ScriptInstance.
2009-08-07 20:43:23 +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
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
Melanie Thielker 8ecfc9a717 Committing the interface change and the addition to the modules to get
the ball rolling on replacable modules. No user functionality yet
2009-07-10 20:17:13 +00:00
Dr Scofield 98ea70644a From: Alan Webb <alan_webb@us.ibm.com>
After noticing on several occasions that the thread counts
we see when running OpenSIm were bordering on the astronomical
I decided to seriously investigate.

After much poking I discovered that the problem is actually very
simple. The XEngine secition of the example ini says that the
timeout for an iden thread is in seconds, and an example value
of 60 is specified. In fact, this is actually resulting in a 60mS
idle timeout, which is not normally enough for a smart thread
to survive. I have added a multiplier to the XEngine constructor
so that the number now matches the published behavior.
2009-06-25 08:17:37 +00:00
Sean Dague 1adeb8ad77 From: Chris Yeoh <yeohc@au1.ibm.com>
This patch ensures that the touch positions are set during touch_end
events (currently only working for touch_start and touch events).
2009-06-19 12:21:20 +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
Jeff Ames 840de6c036 Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00