Commit Graph

131 Commits (71c6559a91a58d93588dcdd8c74b5fce0c1a3780)

Author SHA1 Message Date
John Hurliman f56dc5fcda Attempting to improve the robustness of texture decoding by always ignoring LayerInfo.End values and creating guessed default layer boundaries on failed decodes Changed a noisy J2K decode log message from Info to Debug Replacing openjpeg-dotnet decoding with managed CSJ2K decoding. Should be much more reliable, faster, and use less memory
* Re-added openjpeg-dotnet files since they are used elsewhere in OpenSim * Updated prebuild.xml with a reference to CSJ2K

* Renamed IJ2KDecoder and J2KDecoder member names to follow standard naming conventions * Removed j2kDecodeCache cruft and replaced it with the OpenSim cache system * Rewrote the default layer boundary algorithm to use percentages instead of an exponent * Switched from an infinite in-memory cache to an expiring cache (10 minute timeout) * Slightly quieted logging errors for failed texture decodes
2009-09-30 19:26:53 +01:00
Jeff Ames ee205e7e81 Formatting cleanup. 2009-10-01 01:17:47 +09:00
Rob Smart 4f3975f04e addition of a new script function osSetParcelSIPAddress(string SIPAddress), now including iVoiceModule
This patch allows the land owner to dynamically set the SIP address of a particular land parcel from script. This allows predetermined SIP addresses to be used, making it easier to allow non OpenSim users to join a regions voice channel.

Signed-off-by: dr scofield (aka dirk husemann) <drscofield@xyzzyxyzzy.net>
2009-09-18 15:47:15 +02:00
Melanie 7c925744f6 Some OSGrid specific changes, please use this or later for OSGrid use 2009-09-15 07:55:29 +01:00
Justin Clark-Casey (justincc) fa1d79533e Only allow iar load/save if user is logged in to the region simulator 2009-09-07 19:57:44 +01:00
Justin Clark-Casey (justincc) 7ca61e0174 Add ids to iar requests
Stop save iar test wrongly relying on thread pulsing (still disabled though)
2009-09-04 21:10:56 +01:00
Jeff Ames bbef5c344e Remove typo version of ReplaceableInterface property from RegionCombinerModule. 2009-08-31 14:16:16 +09:00
Melanie eba23048ca Replace the Replaceable modules name 2009-08-10 23:08:22 +01:00
Melanie 17bdc45c5c Add plumbing for the SceneObjectDeleter to wait for the script engine to
allow final deletion of objects. Meant to support the attach(NULL_KEY) event,
2009-08-04 03:17:13 +01:00
Melanie Thielker 8ecfc9a717 Committing the interface change and the addition to the modules to get
the ball rolling on replacable modules. No user functionality yet
2009-07-10 20:17:13 +00:00
Jeff Ames 715f2f2798 Update svn properties, add copyright header, formatting cleanup. 2009-06-29 15:40:00 +00:00
Jeff Ames 2d173d7556 Update svn properties. 2009-06-27 04:31:49 +00:00
MW 7a2c41dea0 Extracted the code that handles the sending of prim updates to the client, from ScenePresence into ISceneViewer/SceneViewer. Currently ScenePresence "has" a ISceneViewer, although if we had a proper Node based scenegraph then it would most likely be attached directly to the nodes.
By extracting this code, it should make it easier to experiment with different ways of managing the update process. [Next step to make this module based, could be to create a SceneViewerFactoryModule]
2009-06-26 12:09:43 +00:00
Arthur Valadares f243dddc04 * Corrected CAPS namespaces
* "luke, use the sed"
2009-06-18 14:33:35 +00:00
diva 7a9c85526c Pulled out HelloNeighbour into its own service, INeighbourService, which may get more functions as we go along. It's a very simple service and service connectors, and it served primarily to establish the design of services that dependent on Scenes and that must always have a local connector. More refactoring coming, as this showed how to do it right. 2009-06-14 15:35:09 +00:00
Dr Scofield 759636f37e From: Alan Webb <alan_webb@us.ibm.com>
This change addresses two issues:

  [1] It adds a flag field to the blendface call which allows the
      caller to indicate whether or not the generated asset is
      temporary, and whether or not the asset being replaced should
      be explicitly retired fromt the memory cache. The decimal
      values correspond to:
      0 - Permanent asset, do not expire old asset
      1 - Permanent asset, expire old asset
      2 - Temporary asset, do not expire old asset
      3 - Temporary asset, expire old asset
      '3' corresponds to the default behavior seen today, and is
          the continued behavior of the non-blendface calls.
  [2] The dynamic texture routines are highly-asynchronous and can
      be scheduled simultaneously on a multi-core machine. The nature
      of the texture management interfaece is such that updates may
      be lost, and the nature of asynchornous operation means that
      they may be processed out of order. A lock has been added to
      ensure that updates are at least atomic. No attempt has been
      made to enforce ordering. The lock applies to the SceneObjectPart
      being updated and is held for the lifetime of the TextureEntry
      used to carry texture updates (the one instance carries all
      faces supported by the prim).

   Users of these services should remember that the dynamic texture
   call is asynchronous and control will be returned *before* the
   texture update has actually occurred. As a result, a isubsequent
   GetTexture call may not return the expected asset id. A script
   must wait for the corresponding TEXTURE_CHANGED event before
   retrieving any texture information.
2009-06-09 06:39:27 +00:00
Justin Clarke Casey 412295ccde * Add simple original sog xml serialization test 2009-06-01 18:03:51 +00:00
Justin Clarke Casey f6badc528b * minor: change the name of one serialization method to match its counterpart 2009-06-01 17:38:11 +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 d4957dd9be Update svn properties. 2009-05-25 01:59:50 +00:00
Dr Scofield 3b689e506f From: Alan Webb <alan_webb@us.ibm.com>
Changes to support client-side image pre-caching in the region. This
  commit adds an additional calling sequence to the DynamicTexture data
  and URL calls. The new interface allows a dynamic image to be loaded
  into a specific object face (rather than the mandatory ALL_SIDES
  supported today.
  This is in part fulfilment of ticket #458.
2009-05-22 16:22:49 +00:00
MW e4d68964dd Added ITeleportModule interface, and added a hook into scene so if a module has registered this interface then that handles teleport requests rather the SceneCommunicationService.
As by default there is no ITeleportModule registered, Teleports by default will still be handled by SceneCommunicationService.
2009-05-21 10:41:16 +00:00
Melanie Thielker 9248300596 Remove a misleading event that was only used internally 2009-05-14 21:28:02 +00:00
Justin Clarke Casey 303aa4b65e * refactor: move bottom part of 'xml2' serializaton to separate class 2009-05-14 18:08:54 +00:00
Melanie Thielker d843b897b2 Move the connector for the new asset server to a connectors project. Inherit
the region module version from this. This enables inter-server connections
to reuse connetor code from region modules.
2009-05-14 06:18:18 +00:00
Melanie Thielker 1196f3eac7 Add most of the meat to the LSL HTTP server 2009-05-13 04:04:26 +00:00
Melanie Thielker ba8850f254 Plumb request and return URL functions.
Implements llRequestURL, llRequestSecureURL, llReleaseURL
2009-05-13 03:09:30 +00:00
Melanie Thielker 80ce08d8b2 Add a skeleton for the LSLHttpServer 2009-05-13 02:54:13 +00:00
Melanie Thielker fca73f3ae4 Add more group notify glue 2009-05-12 15:52:28 +00:00
Melanie Thielker 1b7d0a6c93 Paving the way for syncing group permissions across a grid 2009-05-12 14:59:11 +00:00
Melanie Thielker d8e1842d25 Add some asset cache plumbing. Change the generic cache from UUID to string
keys to allow caching the new crop of URI identified objects.
2009-05-10 12:27:05 +00:00
Melanie Thielker 89d921c3b2 COmmitting the asset cache skeleton 2009-05-09 23:47:20 +00:00
Dr Scofield e0a06f6416 - moving banned check and public/private check to
Scene.NewUserConnection()
- adding reason reporting

this enforces estate bans very early on and prevents us from
circulating client objects that we'd then have to retract once we
realize that the client is not allowed into the region
2009-05-05 16:17:52 +00:00
Homer Horwitz 9c3ec87b97 Moved ITerrainModule and ITerainEffect to OpenSim.Region.Framework.Interfaces and added a TaintTerrain method 2009-04-19 13:33:46 +00:00
Charles Krinke a416e75ddb Thank you kindly, MCortez, for a patch that:
This hooks up the LandManagementModule to handle the DeedParcelToGroup 
packet. Now people can start testing land assigned to and owned by groups.
Also fixes a viewer crash issue when searching for and then joining a group 
with an agent that is not already being tracked by groups server.
2009-04-19 00:11:14 +00:00
Melanie Thielker 7e95783dd3 Expose the GroupRecord and it's accessor API 2009-04-16 00:15:57 +00:00
Melanie Thielker 7306b73f02 Commit the group deeding support, thank you, mcortez 2009-04-15 21:07:09 +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
Melanie Thielker 3c338e4e56 Convert both script engines to new region module format. Add proper unload
handling to XEngine. Add needed stubs to DotNetEngine.
2009-04-15 18:51:17 +00:00
Melanie Thielker 285dfe3055 Add the RegionLoaded(Scene) API to the new region module interface to allow
region modules to use another region module's interfaces and events in
a scene context
2009-04-14 03:22:02 +00:00
Melanie Thielker 217b2d93ae Adding a script event, changed(CHANGED_ANIMATION)
This is sent to all root prims of all attachments of an avatar when the
animation state changes. llGetAnimation() can thenbe used to find the
new movement animation. This eliminates the need for fast timers in AOs
2009-04-11 16:51:27 +00:00
Melanie Thielker 8902923b12 Introduce IXmlRpcRouter, an interface that allows registering XMLRPC
UUIDs with a central marshaller for grids, or publish the ULS for objects
elsewhere.
2009-04-10 21:08:33 +00:00
Melanie Thielker b43226019a Expose the XMLRPC listener port on the IXMLRPC interface to allow
publication
2009-04-10 19:27:47 +00:00
Adam Frisby 9e51c2db95 * Implements World.Parcels[] array for MRM scripting. 2009-04-06 07:17:23 +00:00
diva 5b103aab89 Changed the asynchronous call to get inventory in HG, so that it properly reports problems. OGS1 should also be changed, but I'm leaving it as is for now. RestSessionObjectPosterResponse is fairly broken and should not be used.
Minor changes in Get inventory item in HGAssetMapper.
2009-04-05 22:39:19 +00:00
Homer Horwitz 648452dd91 - Add new RegionModulesControllerPlugin to the application modules
- Change several classes to use the new plugin for handling of region-modules
  (NOTE: No regionmodule is using this yet)
- Add necessary prebuild parts (don't forget to runprebuild)
Attention: Work in progress. This shouldn't break anything, but you never know...
2009-04-05 17:08:11 +00:00
Homer Horwitz 50aa775ea7 - Move IWindModule to OpenSim.Region.Framework.Interfaces
- Fix a dependency problem.
Hopefully fixes Mantis #3395
2009-04-05 17:08:01 +00:00
diva 3c9cba1627 Added CreateObject(regionhandle, userID, itemID) to post objects that are to be fetched from the user's inventory server and rezzed in the region. Added all code necessary to fetch the item and the asset, and rez it inworld. The access to the item is uncap-ed and unverified -- I may place it later either under a cap or with auth verification. But in this model regions don't have the user's inventory, so they would have to guess the item IDs.
Added safemode config to Standalone Hypergrid, similar effect to AllowRegionAccessToInventory in Inventory Server. Everyone should have these vars set to their default values except me!
2009-04-05 03:27:50 +00:00
Homer Horwitz 8136cf4075 Thanks jonc, for a patch that adds rendering of classic clouds.
First part of Mantis #964, the necessary clouds image will follow separately.
2009-04-04 15:43:02 +00:00
diva 2e54f277d1 One more bit of refactoring, so this can be used outside region code. 2009-04-01 22:42:44 +00:00
Charles Krinke 54a27f9f5c Thank you kindly, MCortez for a patch that:
With some support from HomerH, this patch adds support for Wind 
Model plugins via the mono.Addin framework.
* Adds console & OSSL access to Wind Parameters
* Adds plug-in support for custom wind models
* Provides two example Wind Model plug-ins
Documentation for the wind module is temporarily located at http://code.google.com/p/flotsam/wiki/CoreWindModule [^] 
-- will move this documentation to http://opensimulator.org [^] 
after the patch has been committed.
2009-03-31 02:33:19 +00:00
Justin Clarke Casey ac8fc02afc * refactor: Move god related methods in Scene out to a module 2009-03-30 18:20:41 +00:00
Melanie Thielker 03063375ee Add AcceptNotices member to GroupMembershipData and an overload to
IGroupsModule interface
2009-03-29 11:18:45 +00:00
Melanie Thielker 8c4bcfb5d0 Module interface change 2009-03-29 06:14:54 +00:00
diva 5af63a6a5c Root agent retrieval via http/REST. This is a pull, the caller gets the agent. This is not used by the regions yet, but it may be a better alternative to transfer agents even when that is done by the regions. The data is still trivial; soon it will have attachments, scripts and script state. Also, authorization tokens still to come. Serialization using OSD/json, as the other methods. 2009-03-23 02:37:19 +00:00
Teravus Ovares 14b94b8d05 * Finishing up the last commit by adding ISunModule 2009-03-20 23:15:16 +00:00
Melanie Thielker 87822c5d95 Add an event to process undelivered IMs 2009-03-17 23:52:30 +00:00
Justin Clarke Casey 3d70dbd01d * refactor: move media and music url setting from scene into LandObject 2009-03-05 20:53:23 +00:00
Justin Clarke Casey c213a12b57 * simplify media and music url setting since we never get back a null land object 2009-03-05 20:32:35 +00:00
Charles Krinke 62eaddbe14 Fixes Mantis #3255. Thank you kindly, MCortez, for a patch that:
Changes to IWindModule interface: Change from assuming a single array of 
256 Vector2 values to a lookup function that takes region x, y, z and returns a Vector3
* Changed llWind() to use new lookup method of IWindModule
* Moved logic for determining the wind at a given point in the data array from 
llWind() to the Wind Module itself.
2009-03-05 04:24:22 +00:00
Melanie Thielker c28b2f799a Revert previous commit 2009-02-20 12:48:46 +00:00
Melanie Thielker 7b1c42836d Committing interface and stubs for IM interception 2009-02-20 12:15:40 +00:00
MW 74e3a85492 reverted last revision, until we decide how to handle capturing IM's 2009-02-19 12:38:17 +00:00
MW 1b65020b41 Added a event to IMessageTransferModule (and MessageTransferModule) so that other modules can capture IM messages and do custom handling of them. As just attaching to Client IM events doesn't really support this, as they would still get routed through the normal process and could give back errors. 2009-02-19 11:54:53 +00:00
Sean Dague 383f8b3ac6 From: Christopher Yeoh <yeohc@au1.ibm.com>
The attached patch implements osGetDrawStringSize that looks like:

vector osGetDrawStringSize(string contentType, string text, string
fontName, int fontSize)

in LSL. It is meant to be used in conjunction with the osDraw*
functions. It returns accurate information on the size that a given
string will be rendered given the specified font and font size.
This allows for nicely formatted and positioned text on the generated
image.
2009-02-18 12:56:36 +00:00
diva 3f25128e77 Adds support for preserving animations on region crossings and TPs.
Known issue: after TP, the self client doesn't see the animations going, but others can see them. So there's a bug there (TPs only, crossings seem to be all fine).
Untested: did not test animation overriders; only tested playing animations from the viewer.
2009-02-18 01:49:18 +00:00
Justin Clarke Casey 229b69e044 * Establish InventoryArchiveSaved event for unit tests
* This is done on the inventory archiver module directly rather than Scene.EventManager - the module seems the more appropriate location
2009-02-17 15:39:18 +00:00
diva 217ffee8cb Moved RegionUp to REST/LocalComms. The original functionality has been entirely maintained, although it will have to be revisited soon, because it's buggy. 2009-02-14 16:37:55 +00:00
Justin Clarke Casey d31810d548 * add file missing from last commit 2009-02-13 17:41:48 +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
diva a54758eef3 Bug fix in prim crossing: making it clear when the local object needs to be cloned (regions on the same instance) and when it doesn't (regions on different instances). 2009-02-13 00:49:58 +00:00
Sean Dague 5959e42683 large scale fix for svn props after "the great refactor" 2009-02-12 18:59:45 +00:00
lbsa71 801da4346a * optimized usings. 2009-02-12 09:53:12 +00:00
Justin Clarke Casey 162a59ba17 * Refactor inventory archive code to allow direct invocation in order to support future unit tests
* Add a file I missed out from the last commit (the build was probably fine without it)
2009-02-11 18:46:51 +00:00
Justin Clarke Casey 25bc7a44cd * Implement merging of oars in code
* Not fully tested yet and not yet available as an option from the user console
2009-02-10 18:43:36 +00:00
Dr Scofield 180be7de07 this is step 2 of 2 of the OpenSim.Region.Environment refactor.
NOTHING has been deleted or moved off to forge at this point.  what
has happened is that OpenSim.Region.Environment.Modules has been split
in two:

- OpenSim.Region.CoreModules: all those modules that are either
  directly or indirectly referenced from  other  OpenSim packages, or
  that provide functionality that the OpenSim developer community
  considers core functionality:

      CoreModules/Agent/AssetTransaction
      CoreModules/Agent/Capabilities
      CoreModules/Agent/TextureDownload
      CoreModules/Agent/TextureSender
      CoreModules/Agent/TextureSender/Tests
      CoreModules/Agent/Xfer
      CoreModules/Avatar/AvatarFactory
      CoreModules/Avatar/Chat/ChatModule
      CoreModules/Avatar/Combat
      CoreModules/Avatar/Currency/SampleMoney
      CoreModules/Avatar/Dialog
      CoreModules/Avatar/Friends
      CoreModules/Avatar/Gestures
      CoreModules/Avatar/Groups
      CoreModules/Avatar/InstantMessage
      CoreModules/Avatar/Inventory
      CoreModules/Avatar/Inventory/Archiver
      CoreModules/Avatar/Inventory/Transfer
      CoreModules/Avatar/Lure
      CoreModules/Avatar/ObjectCaps
      CoreModules/Avatar/Profiles
      CoreModules/Communications/Local
      CoreModules/Communications/REST
      CoreModules/Framework/EventQueue
      CoreModules/Framework/InterfaceCommander
      CoreModules/Hypergrid
      CoreModules/InterGrid
      CoreModules/Scripting/DynamicTexture
      CoreModules/Scripting/EMailModules
      CoreModules/Scripting/HttpRequest
      CoreModules/Scripting/LoadImageURL
      CoreModules/Scripting/VectorRender
      CoreModules/Scripting/WorldComm
      CoreModules/Scripting/XMLRPC
      CoreModules/World/Archiver
      CoreModules/World/Archiver/Tests
      CoreModules/World/Estate
      CoreModules/World/Land
      CoreModules/World/Permissions
      CoreModules/World/Serialiser
      CoreModules/World/Sound
      CoreModules/World/Sun
      CoreModules/World/Terrain
      CoreModules/World/Terrain/DefaultEffects
      CoreModules/World/Terrain/DefaultEffects/bin
      CoreModules/World/Terrain/DefaultEffects/bin/Debug
      CoreModules/World/Terrain/Effects
      CoreModules/World/Terrain/FileLoaders
      CoreModules/World/Terrain/FloodBrushes
      CoreModules/World/Terrain/PaintBrushes
      CoreModules/World/Terrain/Tests
      CoreModules/World/Vegetation
      CoreModules/World/Wind
      CoreModules/World/WorldMap

- OpenSim.Region.OptionalModules: all those modules that are not core
  modules:

      OptionalModules/Avatar/Chat/IRC-stuff
      OptionalModules/Avatar/Concierge
      OptionalModules/Avatar/Voice/AsterixVoice
      OptionalModules/Avatar/Voice/SIPVoice
      OptionalModules/ContentManagementSystem
      OptionalModules/Grid/Interregion
      OptionalModules/Python
      OptionalModules/SvnSerialiser
      OptionalModules/World/NPC
      OptionalModules/World/TreePopulator
2009-02-10 13:10:57 +00:00
diva 2c685bff14 Moved prim crossing out of OGS1 and into RESTComms and LocalInterregionComms. This breaks interregion comms with older versions in what concerns prim crossing. In the process of moving the comms, a few things seem to be working better, namely this may address mantis #3011, mantis #1698. Hopefully, this doesn't break anything else. But I'm still seeing weirdnesses with attchments jumping out of place after a cross/TP.
The two most notable changes in the crossing process were:
* Object gets passed in only one message, not two as done before.
* Local object crossings do not get serialized, as done before.
2009-02-09 22:27:27 +00:00
Melanie Thielker 54c6a920ba Replace the console for all OpenSim apps with a new console featuring command
line editing, context sensitive help (press ? at any time), command line
history, a new plugin command system and new appender features thet let you
type while the console is scrolling. Seamlessly integrates the ICommander
interfaces.
2009-02-07 12:25:39 +00:00
Justin Clarke Casey 00a3cbd6fa * Implement help <command> from the region console
* So at the moment once can type 'help terrain fill' as well as 'terrain fill help'
* Current implementation is a transient hack that should be tidied up soon
2009-02-06 18:18:01 +00:00
Dr Scofield 9b66108081 This changeset is the step 1 of 2 in refactoring
OpenSim.Region.Environment into a "framework" part and a modules only
part. This first changeset refactors OpenSim.Region.Environment.Scenes,
OpenSim.Region.Environment.Interfaces, and OpenSim.Region.Interfaces
into OpenSim.Region.Framework.{Interfaces,Scenes} leaving only region
modules in OpenSim.Region.Environment.

The next step will be to move region modules up from
OpenSim.Region.Environment.Modules to OpenSim.Region.CoreModules and
then sort out which modules are really core modules and which should
move out to forge.

I've been very careful to NOT BREAK anything. i hope i've
succeeded. as this is the work of a whole week i hope i managed to
keep track with the applied patches of the last week --- could any of
you that did check in stuff have a look at whether it survived? thx!
2009-02-06 16:55:34 +00:00