Commit Graph

307 Commits (6dd99837fd4bb6dcaf4dbf89ddc1b3f28337bca5)

Author SHA1 Message Date
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