| Commit message (Collapse) | Author | Files | Lines |
|
Date: Wed, 5 Aug 2009 12:45:56 +0200
Subject: [PATCH] A few minor tweaks to the MRM API's in order to make it possible for MRM's to run in a separate AppDomain without poluting the primary appdomain of OpenSim
Specifically:
Added an explicit method for getting the "globals" of the MRM, removing the need to have the MRM script code loaded into the primary domain, in order to set up proxies
Added a [Serializable] attribute to TouchEventArgs, again in order to remove the need to have MRM script code loaded into the primary domain.
---------
Applied with whitespace changes
|
|
* MRM Scripts should do appropriate cleanup within this event, to allow for clean shutdowns and script updates. This means unbinding from events you are listening to, and releasing any resources.
|
|
* 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
|
|
|
|
|
|
This add a configuration option to the MRM module called "hidden".
if MRM is marked as enabled, the module will additionally check for
the "Hidden" flag, before registering for client side scriping events.
When MRM is running hidden, it will not respond to client side
scripting events, giving serverside scripting modules, like MRMLoader
and MRMAddin the ability to leverage the MRM engine. This way, even
a possible clientside exploit will not be possible, while still
allowing the MRM engine to run.
|
|
|
|
|
|
|
|
The current API for MRM is quite sparse, this patch
supplies basic support for accessing the task
inventory of object.
|
|
This patch makes the worn attachments accessible to MRM scripting
|
|
|
|
LICENSE.txt.
|
|
|
|
|
|
World.Objects.Create(Vector3 position, Quaternion rotation). These rez a 'default box' object at the specified coordinates, and return the associated IObject.
|
|
* This includes methods such as PlaySound which take a Position as an argument, allowing you to trigger sounds arbitrarily across the scene without needing a parent object in the position.
|
|
committing.
|
|
* Method: IObject.Sound.Play(UUID sound, double volume)
* More feature-packed API to come soon. (I want a World.Sound with arbitrary positioning)
|
|
-- 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
|
|
the sim owner, not just owned by it.
|
|
velocity.
|
|
MRMModule compatible with the Visual Studio MRMLoader ( http://forge.opensimulator.org/gf/project/mrmloader/ )
|
|
|
|
|
|
|
|
|
|
* This is achieved through two new keywords "microthreaded" and "relax". example:
public microthreaded void MyFunc(...) {
...
relax;
...
}
|
|
* Minor MRM tweak.
|
|
|
|
|
|
classes into OpenSim MRM's.
* Example in region module:
Scene.GetModuleInterface<IMRMModule>.RegisterExtension<IMyInterface>(this);
* In the MRM:
//@DEPENDS:MyExtensionModule.dll
...
Host.Extensions<IMyInterface>.DoStuff();
|
|
* Implements Sculpty modification support to MRM
* Example: IObject.Shape.SculptMap = new UUID("0000-0000-0000....");
|
|
actually being used.
|
|
* This allows specific requests to be identified.
|
|
|
|
|
|
|
|
* Interfaces now live in Interfaces subdirectory.
* Namespace does not yet reflect this change.
* Final namespace for MRMs will probably sit somewhere around OpenSim.Extend.MRM[?]
|
|
to a central server via REST, for centralized XMLRPC routing.
|
|
xmlrpc_uri(string) in response to a OpenRemoteDataChannel call. The string
is the fully qualified URI to post XMLRPC requests for that script to.
|
|
OnTouch capable scripts.
|
|
|
|
* Syntax: //@DEPENDS:library.dll
|
|
* This lets you do things like IObject.Materials[0].Texture = new UUID("0000-...");
|
|
* This allows you to utilize System.Drawing tools on textures within the region.
* Example: use System.Drawing.Bitmap to make your texture, then use Host.Graphics.SaveBitmap to make an asset from it in JPEG2K. You can edit (but not overwrite) existing textures using Host.Graphics.LoadBitmap.
|
|
* This event fires when a new avatar is created within the Scene. (Internally corresponds to EventManager.OnNewPresence)
|
|
* This makes MRM scripting ever so slightly more secure. If you have enforced Object Permissions enabled, it may be acceptable to enable MRM within your regions.
* Security bug reports on this feature are much appreciated (eg: anyone finding ways around this to execute a MRM as a basic user).
|
|
animation packet from firing OnChat)
|
|
* Corrected issue with MRMs where it would attempt to overwrite an already loaded DLL. (and thus fail with cryptic UnauthorizedAccessException.)
* Made DrunkenTextAppreciationModule.cs MRM not crash with StackOverflowException
* Added some temporary logging to MRM World.*
|