Commit Graph

86 Commits

Author SHA1 Message Date
Jeff Ames
bc6ec3b564 Formatting cleanup. 2009-08-09 00:43:13 +09:00
Melanie
3219e648cc From: Snowcrash <Snowcrash.short@gmail.com>
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
2009-08-07 19:04:20 +01:00
Adam Frisby
270ae50d70 * Implements MRM's Stop() interface member.
* 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.
2009-08-07 14:17:51 +10: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
Justin Clarke Casey
5815162d7e minor: remove some mono compiler warnings 2009-07-15 20:49:58 +00:00
Jeff Ames
cce451d9de Formatting cleanup. 2009-07-11 11:47:33 +00:00
Charles Krinke
61008c9c13 Thank you kindly, SnowDrop, for a patch that:
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.
2009-07-08 20:57:26 +00:00
Jeff Ames
1d01d6d919 Formatting cleanup. 2009-07-01 23:37:09 +00:00
Jeff Ames
a0a44d8ebc Add copyright headers. 2009-07-01 23:25:59 +00:00
Jeff Ames
3f2fba610e Update svn properties. 2009-07-01 10:26:43 +00:00
Charles Krinke
6942eaed5b Thank you kindly, Snowdrop, for a patch that solves:
The current API for MRM is quite sparse, this patch 
supplies basic support for accessing the task 
inventory of object.
2009-06-29 21:47:47 +00:00
Charles Krinke
7bb070be55 Thank you kindly, Snowdrop/Snowcrash for a patch that:
This patch makes the worn attachments accessible to MRM scripting
2009-06-29 18:07:30 +00:00
Jeff Ames
a23d64dec1 Formatting cleanup. 2009-06-10 04:28:56 +00:00
Jeff Ames
35b450d41d Add copyright headers, formatting cleanup, ignore some generated files. 2009-05-31 18:35:00 +00:00
Jeff Ames
db2c4ab94c Update svn properties. 2009-05-31 16:26:18 +00:00
Adam Frisby
dc15190365 * Adds MRM scripting commands, World.Objects.Create(Vector3 position) and World.Objects.Create(Vector3 position, Quaternion rotation). These rez a 'default box' object at the specified coordinates, and return the associated IObject. 2009-05-31 12:53:05 +00:00
Adam Frisby
c30b5ee014 * Adds World.Audio.* to MRM
* 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.
2009-05-29 23:49:48 +00:00
Adam Frisby
433ee75775 * Protip: When you click 'make public' in resharper, note to save before committing. 2009-05-29 22:48:34 +00:00
Adam Frisby
78bec42225 * Implements Sound on Objects for IObject in MRM
* Method: IObject.Sound.Play(UUID sound, double volume)
* More feature-packed API to come soon. (I want a World.Sound with arbitrary positioning)
2009-05-29 22:44:49 +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
Adam Frisby
12d7063b0b * Adds additional check to MRM rezzing - the host object must be created by the sim owner, not just owned by it. 2009-05-12 21:42:20 +00:00
Adam Frisby
3a28f748d5 * Adds ScenePresence.TeleportWithMomentum - same as .Teleport, but preserves velocity. 2009-05-12 21:21:33 +00:00
Adam Frisby
559355189a * Applies Mantis #3630 - Adds support for outside MRM initialisation, makes MRMModule compatible with the Visual Studio MRMLoader ( http://forge.opensimulator.org/gf/project/mrmloader/ ) 2009-05-12 13:10:04 +00:00
Adam Frisby
c534d7f614 * Code to make MRM debugging easier. 2009-05-09 17:44:12 +00:00
Jeff Ames
8dbcfc70bf Add copyright headers. Formatting cleanup. 2009-04-27 05:22:44 +00:00
Jeff Ames
6077bbda30 Update svn properties. 2009-04-27 03:22:31 +00:00
Adam Frisby
883f7dde38 * Implements Microthreading for MRM scripting.
* This is achieved through two new keywords "microthreaded" and "relax". example:
public microthreaded void MyFunc(...) {
  ...
  relax;
  ...
}
2009-04-24 05:33:23 +00:00
Adam Frisby
d6b62b677c * Committing stub VW-over-HTTP ClientStack. (2/2)
* Minor MRM tweak.
2009-04-22 10:11:12 +00:00
Jeff Ames
6aa5d3904d Add copyright headers. Formatting cleanup. 2009-04-22 00:48:56 +00:00
Jeff Ames
13f5dd5f35 Update svn properties. 2009-04-21 15:30:03 +00:00
Adam Frisby
594c7c3eb1 * Implements Extensions to MRM. This allows Region Modules to insert new 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();
2009-04-21 04:55:53 +00:00
Adam Frisby
b2a7c1468e * Adds IObject.Shape to MRM
* Implements Sculpty modification support to MRM
* Example: IObject.Shape.SculptMap = new UUID("0000-0000-0000....");
2009-04-18 05:43:40 +00:00
Jeff Ames
cad0aab793 Formatting cleanup. 2009-04-14 11:38:33 +00:00
Jeff Ames
6e19fb8593 Add copyright headers. 2009-04-14 10:56:24 +00:00
Jeff Ames
fa29cf5c50 Update svn properties. 2009-04-14 10:00:13 +00:00
Adam Frisby
b8619386eb * Minor MRM Cleanup
* 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[?]
2009-04-11 10:21:04 +00:00
Adam Frisby
b664566b8f * Fixes a bug in MRM scripting whereby the Touch flag is never enabled for OnTouch capable scripts. 2009-04-10 05:13:02 +00:00
Justin Clarke Casey
601fa22185 * minor: remove some mono compiler warnings 2009-04-09 20:06:30 +00:00
Adam Frisby
f44694c28e * Allows MRMs to import libraries in the OpenSim bin directory.
* Syntax: //@DEPENDS:library.dll
2009-04-09 15:46:02 +00:00
Adam Frisby
8ee81f98ea * Implements IObject.Materials[].*
* This lets you do things like IObject.Materials[0].Texture = new UUID("0000-...");
2009-04-09 14:51:18 +00:00
Adam Frisby
c77e7fce9e * Implements IGraphics interface for MRM Scripting.
* 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.
2009-04-09 14:19:49 +00:00
Adam Frisby
98eda9ebdb * Adds World.OnNewUser += delegate(IWorld sender, NewUserEventArgs e);
* This event fires when a new avatar is created within the Scene. (Internally corresponds to EventManager.OnNewPresence)
2009-04-09 13:22:27 +00:00
Adam Frisby
c91c24441b * Limits MRM scripting to Region Master Avatar only.
* 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).
2009-04-09 13:14:25 +00:00
Adam Frisby
162dd5c65c * World.OnChat no longer fires if there is no chat text (prevents the typing animation packet from firing OnChat) 2009-04-09 13:05:01 +00:00
Adam Frisby
03984e7304 * Added additional debug testing info to Scene
* 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.*
2009-04-09 13:03:27 +00:00
Adam Frisby
0af0399198 * Forgot to commit IEntity in last commit.
* Added "DrunkenTextAppreciationModule" Demo MRM - behaves very similarly to the sobriety filter in WoW. ;)
2009-04-09 11:25:50 +00:00
Adam Frisby
b529750548 * Moves Name, GlobalID and WorldPosition into new IEntity interface.
* Avatar and Object now inherit from IEntity.
* Avatar.Position is now Avatar.WorldPosition to match IObject property.
* Implements event World.OnChat += delegate(IWorld sender, ChatEventArgs e);
2009-04-09 11:09:24 +00:00
Adam Frisby
1b56fff7c8 * Implements retrieving child primitives via World.Objects[id] (MRM)
* Optimizes SceneGraph - fetches on primitives via "GetGroupByPrim" wont search the entire list if the primitive is infact the root. (Core)
* Updates Test MRM.
2009-04-09 10:07:40 +00:00
Adam Frisby
232241ab25 * Implements IObject.OnTouch += delegate(IObject sender, TouchEventArgs e)
* This is equivalent to LSL 'touch(int senders)'
2009-04-09 07:46:05 +00:00
Jeff Ames
465f1df592 Add copyright headers, formatting cleanup. 2009-04-06 14:36:44 +00:00