Adam Frisby
cbd454d692
* Implements ISecurityCredential member on SPAvatar, SPAvatarAttachment
...
* Disables 'event not used' warning for IRCClientView; cuts OpenSim total warnings back.
2009-08-16 22:01:18 +10:00
Adam Frisby
c2be3edd2d
* Refactor: Moves IAvatarAttachment into IAvatarAttachment.cs instead of IAvatar.cs
2009-08-16 21:49:53 +10:00
Adam Frisby
b28e826541
* Implements ISecurityCredential on all uses of SOPObject.cs except Avatar Attachments.
2009-08-16 21:41:57 +10:00
Adam Frisby
adae13cd18
* [MRM] Added permission checks to MRM Events (ie, requires edit permission to bind to OnTouch)
2009-08-16 21:36:33 +10:00
Adam Frisby
8621dc405e
* Fixes potential NulRef in MRM Security Checks.
2009-08-16 21:23:39 +10:00
Adam Frisby
aea4d7c63b
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2009-08-16 21:21:38 +10:00
Adam Frisby
975c49a399
* [MRM] Implements permission checks on IObject implementations in SOPObject.cs. Does not implement security on IObjectInventory yet.
2009-08-16 21:20:45 +10:00
Jeff Ames
2b630470b0
Add copyright headers. Formatting cleanup.
2009-08-16 17:30:13 +09:00
Jeff Ames
9d9fcac038
Misc cleanup.
2009-08-16 17:14:21 +09:00
Adam Frisby
9090a90769
* Beginnings of a Security Credential system in MRM. This will eventually lead to trusted execution of untrusted MRMs.
2009-08-16 03:48:16 +10:00
Jeff Ames
bc6ec3b564
Formatting cleanup.
2009-08-09 00:43:13 +09:00
Teravus Ovares (Dan Olivares)
2b990a61bf
This is the second part of the 'not crash on regionsize changes'. This lets you configure region sizes to be smaller without crashing the region. I remind you that regions are still square, must be a multiple of 4, and the Linden client doesn't like anything other then 256. If you set it bigger or smaller, the terrain doesn't load in the client, the map has issues, and god forbid you connect it to a grid that expects 256m regions.
2009-08-07 20:31:48 -04: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
840de6c036
Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt.
2009-06-01 06:37:14 +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
Melanie Thielker
acfb5051cd
Intermediate commit. WILL NOT COMPILE!
2009-05-04 20:15:39 +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
Justin Clarke Casey
9f6b8ec9b0
minor: Remove some mono compiler warnings. Uncomment code when it's actually being used.
2009-04-15 19:46:37 +00:00
Justin Clarke Casey
63936d442c
* Make it possible to add a request id to load and save oar requests
...
* This allows specific requests to be identified.
2009-04-15 19:12:37 +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
Melanie Thielker
3307f21706
Add XmlRpcGridRouter, a module that communicates URIs for XMLRPC channels
...
to a central server via REST, for centralized XMLRPC routing.
2009-04-10 22:05:37 +00:00
Melanie Thielker
ae6f265729
Add an optional region module which will supply a script event,
...
xmlrpc_uri(string) in response to a OpenRemoteDataChannel call. The string
is the fully qualified URI to post XMLRPC requests for that script to.
2009-04-10 21:26:36 +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
Jeff Ames
5f34bd73fb
Update svn properties.
2009-04-06 14:24:13 +00:00
Adam Frisby
9e51c2db95
* Implements World.Parcels[] array for MRM scripting.
2009-04-06 07:17:23 +00:00
Adam Frisby
918c466881
* Adds AutoOAR module, this will automatically OAR your regions every 20 minutes to a directory called "autooar", if enabled. Default disabled. Use [autooar] Enabled=true in OpenSim.ini to enable.
...
* Adds some MRM XMLDOC
2009-04-06 04:17:55 +00:00
Adam Frisby
9a4192d14e
* Fixed copyright headers on HyperGrid source files. (Now match the rest of OpenSim, license text is unchanged)
...
* Added Bitmap[,] to IParcel for MRM
2009-04-05 02:51:10 +00:00
Adam Frisby
51419d21e4
* Minor cosmetic change to SEUser to get Bamboo to initiate another build. (grr)
...
* Adds basic IParcel interface. Soon to live on World.Parcels{[id],[x,y]}
2009-04-05 01:36:30 +00:00
Adam Frisby
dc967b16a4
* Typo in constructor during class rename (whoops!)
...
* OpenSim is now over 9000.
2009-04-05 01:29:58 +00:00
Adam Frisby
f094847c43
* Implements ISocialEntity - this represents the class of "user-like" objects such as Users, Groups, etc. Destined to be used as the return value of any "Owner" properties.
...
* Implements basic "SEUser" class which implements Avatar/Agent SE functions (primitive).
2009-04-05 01:28:23 +00:00
Adam Frisby
2e1646d368
* Removes IsPhysical, IsPhantom from IObject, since this is now represented in IObject.Physics.Enabled / IObject.Physics.Phantom instead.
2009-04-04 23:44:37 +00:00
Adam Frisby
e120876bd0
Implements on IObjectPhysics:
...
* SetMomentum
* AddAngularForce
* AddForce
* FloatOnWater
* Force
* Acceleration
* Torque
* Velocity
* RotationalVelocity
* CenterOfMass
* GeometricCenter
* Buoyancy
* Mass (Partial)
* Density (Partial)
2009-04-04 23:32:37 +00:00
Adam Frisby
746729b6ce
* Implements IObjectPhysics on SOPObject partially.
...
* Eg, IObject.Physics.* is now valid syntax and compiles (but will throw NotSupported at runtime)
2009-04-04 23:23:24 +00:00
Adam Frisby
39c3ccb93a
* Implements IObjectPhysics, this collects Physics attributes into one interface, will be referenced on IObject as IObject.Physics.*
...
* Eg; IObject.Physics.Torque = new Vector3(30.0,0.4,0.5);
* Maps loosely to internal PhysicsActor class.
2009-04-04 23:16:19 +00:00
Adam Frisby
d758753d7c
* More fiddling with MRM IPersistence, now stores <T> instead of Object.
2009-04-04 22:57:53 +00:00
Adam Frisby
23193ab538
* Changed IPersistence interface so that passing the MRMBase is unessecary.
2009-04-04 08:36:45 +00:00
Adam Frisby
4e9403e6ef
* Renamed Heightmap.Height to Heightmap.Length to avoid confusion about axis.
...
* Added XMLDOC to MRM API code, this means we have usable programming docs being produced here: http://docs.opensimulator.org/namespaceOpenSim_1_1Region_1_1OptionalModules_1_1Scripting_1_1Minimodule.html (eg IObject, IHeightmap, etc)
2009-04-04 08:33:58 +00:00
Jeff Ames
5cf7b784ce
Add copyright headers, formatting cleanup.
2009-04-04 07:32:41 +00:00
Adam Frisby
c3e1756a48
* Removes IObject.Position, IObject.Rotation from IObject
...
* Adds IObject.WorldPosition and IObject.OffsetPosition - this is equivilent to AbsolutePosition and OffsetPosition in SOP respectively.
* Adds IObject.WorldRotation and IObject.OffsetRotation - as above.
2009-04-04 06:28:55 +00:00
Adam Frisby
fcbe7b9ed6
* Drops Heightmap.Get/Heightmap.Set from IHeightmap interface.
...
* Adds Heightmap[x,y] to interface.
* MRM Scripts should utilize World.Heightmap[x,y] = 0.0; to replace set, and Val = World.Heightmap[x,y] to get.
2009-04-04 05:51:26 +00:00
Adam Frisby
084ffc74c6
* Implements MRM IObject.Say - this is equivilent to llSay
...
Example:
public override void Start()
{
Host.Object.Say("Hello World!");
}
2009-04-03 10:42:39 +00:00
Adam Frisby
254d3099f0
* Implements Scene.SimChat(string,...) rather than byte[]. We should probably mark byte[] as obsolete.
...
* Implements SOPObject.Say for MRM. (Note, not IObject yet)
2009-04-03 10:40:14 +00:00
Adam Frisby
36bc485e7e
* MRM Scripts will now no longer disconnect the client if there was an error in compilation or script initialisation.
...
* Clarified some debug text for MRM Enabling
2009-04-03 10:30:51 +00:00
Adam Frisby
7e91f41535
* Implements "ID" semi-global within MRM scripts. This is tied to the 'state ID' for MRMs.
...
* Implements IPersistence interface, allows simple KeyValue access for MRM scripts to a more permanent datastore.
2009-04-03 09:22:34 +00:00
Jeff Ames
99cfcf405b
Update svn properties.
2009-04-01 14:50:18 +00:00
Adam Frisby
1a25969096
* MRM Adjustments
...
* Renamed 'Material' to PhysicsMaterial (Wood, Glass, Metal, etc.). May want to place in subclass with other physics specific properties. (We however need to support these features in ODE/etc first.)
* Renamed Faces to Materials. IObjectFace to IObjectMaterial - this is for clarity for those coming from a 3D Programming background (it also makes more sense if/when we support Meshes in core). Properties and members remain identical.
* Added XMLDoc comments to IObject to assist people writing MRMs in XMLDoc aware editors.
2009-04-01 11:03:42 +00:00
Adam Frisby
5cd70a8c0e
* MRM Adjustments
...
* Changes World.Objects from Array IObject[] to IObjectAccessor.
* Syntactically identical in most behaviour, however the indexer is now ranges not from 0..Count, but any valid internal LocalID. Additional indexers have been added for UUID.
* Example: for(int i=0;i<World.Objects.Count;i++) will not work any more, however foreach(World.Objects) will remain functional.
* This prevents us needing to create a list for each access to World.Objects which should [in theory] present a dramatic speed improvement to MRM scripts frequently accessing World.Objects.
2009-04-01 09:31:40 +00:00
Adam Frisby
7eccad05c9
* Adds World.Avatars[] to MRM Scripting. Contains an enumerable array containing IAvatar instances for each avatar in the region.
...
* Adds Test/TestModule.cs which demonstrates a very quick and simple MRM Test.
2009-04-01 06:55:39 +00:00
Adam Frisby
5225e40f9e
* Removes some hard-coded magic numbers relating to RegionSize. We now use Constants.RegionSize as expected. (Working towards enlarged or smaller regionsizes that arent multiples of 256m)
...
* Adds minor functionality to MRM Scripting.
2009-04-01 05:58:07 +00:00
Dr Scofield
fa619bdf8c
From: Christopher Yeoh <yeohc@au1.ibm.com>
...
Patch to RegionReady which adds a field which adds to the message
whether the region is ready due to a server startup or due to an oar
file loading.
2009-03-12 18:51:28 +00:00
Jeff Ames
3fe42386e4
Add copyright headers.
2009-03-07 02:11:50 +00:00
Jeff Ames
e1f68145be
Update svn properties.
2009-03-07 02:00:18 +00:00
Adam Frisby
65990de390
MRM Scripting Changes
...
* Renames MiniRegionModule to MRMModule to make it more distinct from the actual Mini Region Module[s] executed in Scene.
* Renames MiniRegionModuleBase to MRMBase for convenience. MRM's need to be adjusted to inherit from MRMBase.
2009-03-05 00:52:59 +00:00
Adam Frisby
0e7e2eba14
* Implements a number of members on SOGObject for use with the MRM Script Engine API.
...
* It's lag-tacular! :D
2009-03-05 00:16:06 +00:00
Adam Frisby
f3aac0fa4a
* Fleshed out the MRM Module a little.
...
* Please don't use this yet, it represents a very heavy security risk if you enable it.
2009-03-04 22:14:40 +00:00
Adam Frisby
e57ac6e0bf
* Whoops. Left MiniModule enabled to anyone. (potential security risk). Disabled - edit code to load.
2009-03-04 20:29:50 +00:00
Adam Frisby
ea9bb2f741
* More work on MiniRegionModule module.
2009-03-04 20:28:11 +00:00
Mike Mazur
b2135c2029
IObjectFace needs to be public to compile.
2009-03-04 03:58:11 +00:00
Adam Frisby
915b0f2448
* More work on MiniRegionModule module.
2009-03-04 02:29:51 +00:00
Adam Frisby
3538eeafa2
* Implementing some interfaces for aformentioned script engine. Ignore this.
2009-03-04 01:38:22 +00:00
Dr Scofield
81bb87168f
cosmetic: adding region name to logging statement
2009-02-16 09:17:55 +00:00
Jeff Ames
95d53d48d4
Add copyright headers. Minor formatting cleanup. Fix some compiler warnings. Fix some m_log declarations.
2009-02-13 02:06:28 +00:00
Dr Scofield
f70e580f86
From: Christopher Yeoh <yeohc@au1.ibm.com>
...
This changeset add the RegionReady module code. The module sends a
message on a configurable channel when an oar file has finished
loading or if the script engine has emptied its queue for the first
time (eg server startup). Config is something like this:
[RegionReady]
enabled = true
channel_notify = -800
The module also knows if there was an error with startup.
2009-02-11 14:35:07 +00:00