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