Commit Graph

3075 Commits (ef39fcf465badfc47842ad0ee5de810f84dd65b5)

Author SHA1 Message Date
Justin Clark-Casey (justincc) bd31821792 On logout, send close child agent requests to neighbours asynchronously, so user is not prevented from relogging if many neighbours are present but not responsive.
The symptom here is that previous user connections are still present but are labelled active == false
2013-05-16 16:37:21 +01:00
Robert Adams 23ebae1828 Eliminate race condition where SimStatsReporter starts reporting
stats before the region is completely initialized.
2013-05-14 13:40:07 -07:00
Justin Clark-Casey (justincc) ce979552fd Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-05-14 19:45:35 +01:00
Justin Clark-Casey (justincc) e9847a4dbd Comment out some debugging item permission messages since these are highly noisy on the console.
Please re-enable when required
2013-05-14 19:44:41 +01:00
Diva Canto 91091c3e54 Second take at HGTP-mesh bug: delay sending the initial data only for agents that are coming via TP (root agents) 2013-05-14 09:06:58 -07:00
Diva Canto 645da54f25 Revert "HGTP-mesh bug: the mesh download requests were going to the departing sims for a little while. This was also true for local TPs. BUt for local TPs the assets are on the same server, so it doesn't matter. For HGTPs, it matters. This potential fix moves sending the initial data to later, after the client has completed the movement into the region. Fingers crossed that it doesn't mess other things up!"
This reverts commit f32a21d967.
2013-05-14 08:47:18 -07:00
Diva Canto f32a21d967 HGTP-mesh bug: the mesh download requests were going to the departing sims for a little while. This was also true for local TPs. BUt for local TPs the assets are on the same server, so it doesn't matter. For HGTPs, it matters. This potential fix moves sending the initial data to later, after the client has completed the movement into the region. Fingers crossed that it doesn't mess other things up! 2013-05-14 08:12:01 -07:00
Diva Canto a4431381fa Finalize the logic for SetHome. See comments in Land/LandManagementModule.cs about who has permission to set home where. 2013-05-11 07:58:14 -07:00
Melanie 55c9bc15e5 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2013-05-11 01:29:30 +01:00
Melanie 81d8deb1a8 Send up the part missing from the Avination Estate commit.
Warning - contains a small migration.
2013-05-11 01:27:37 +01:00
Justin Clark-Casey (justincc) 9978f36d9f Don't send BulkUpdateInventory at the end up of UpdateInventoryItemAsset().
This is causing editing of worn clothes to fail frequently, possibly due to a race condition with a transaction.
This looks to address http://opensimulator.org/mantis/view.php?id=6600
2013-05-09 22:43:16 +01:00
Justin Clark-Casey (justincc) b4a6f2195d Only send one kill object to the deleter when they derez an object rather than two.
Extend regression test to check this.
2013-05-09 18:53:34 +01:00
Justin Clark-Casey (justincc) 3290cd09d3 remove pointless region handle paramter from IClientAPI.SendKillObject() 2013-05-09 18:12:17 +01:00
Justin Clark-Casey (justincc) 2cb2f1d7e3 Fix issue where objects removed via llDie() would not disappear for users looking in from neighbouring sims.
This was because this particular code path (unlike user delete) only sent kills to root presences, for no apparent good reason.
Added regression test for this case.
This fixes http://opensimulator.org/mantis/view.php?id=6627
2013-05-09 18:02:19 +01:00
Justin Clark-Casey (justincc) 641c636790 minor: Simplify test setup in SceneObjectDeRezTests since permissions module doesn't need different configuration anymore 2013-05-09 16:43:16 +01:00
Melanie 5d5edde429 Step 2: commit the IEstateModuleInterface changes needed 2013-05-07 00:37:45 +01:00
Melanie 4c83b5e719 Step one of estate settings sharing - port the Avination Estate module (complete module) as changes are too extensive to apply manually 2013-05-07 00:31:11 +01:00
Diva Canto a81ddf3d70 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-05-06 09:18:17 -07:00
Diva Canto ad00466483 Minor reordering of operations on NewUserConnection. The agent circuit needs to be added earlier for some of the checks to work correctly. 2013-05-06 09:17:54 -07:00
Justin Clark-Casey (justincc) 304c5d4a8b On startup, start scenes after we're set up all local scenes, rather than starting scenes before others have been created.
This aims to avoid a race condition where scenes could look to inform neighbours that they were up before those neighbours had been created.
http://opensimulator.org/mantis/view.php?id=6618
2013-05-03 18:48:50 +01:00
Melanie 3ff7391495 Some more pieces of Avination's ban system - if an avatar isn't allowed on any
parcel in the sim, keep them out entirely.
2013-04-29 00:55:34 +01:00
dahlia c10405330d UUIDGatherer now includes UUIDs which reference texture assets used as materials 2013-04-24 20:43:15 -07:00
Melanie ec4f981f1d Adding the dynamic menu module which allows registering new menu options in compliant viewers 2013-04-25 01:52:34 +01:00
Melanie 6f3c905744 Add Avination's support for parcel eject and freeze 2013-04-25 00:24:48 +01:00
dahlia 9ae24cac2f Materials-capable viewers send ImageUpdate packets when updating materials that are normally sent via RenderMaterials CAP. This can cause a race condition for updating TextureEntry fields. Therefore filter any TextureEntry updates so they only update if something actually changed. 2013-04-19 00:35:06 -07:00
dahlia ce043c5141 Allow changes to TextureEntry to propagate to viewers when MaterialID changes 2013-04-17 22:41:12 -07:00
Justin Clark-Casey (justincc) 7f070236f7 Fix taking (and rezzing) of coalesced objects in the non-root subregions of megaregions.
This fixes the combined bounding box location for regions bigger than 256x256.
It also fixes the position on taking coalesced objects in the non-root regions, where position checks are properly done on rez instead.
It also fixes the megaregion land channel to return null if the land does not exist, which should probably also be done for the ordinary land channels rather than returning a dummy region.
Inspiration from Garmin's commit in http://opensimulator.org/mantis/view.php?id=6595.  Thanks!
2013-04-06 02:34:51 +01:00
Justin Clark-Casey (justincc) 831e4c3850 Fix bug where outstanding llHTTPRequests for scripts were not being aborted when they were deleted.
This was because AsyncCommandManager was handing an item ID to IHttpRequestModule.StopHttpRequest() rather than the expected request ID.
This commit also makes the http request asynchronous using BeginGetResponse() rather than doing this by launching a new thread
so that we can more safely abort it via HttpWebRequest.Abort() rather than aborting the thread itself.
This also renames StopHttpRequest() to StopHttpRequestsForScript() since any outstanding requests are now aborted and/or removed.
2013-04-04 00:36:15 +01:00
Justin Clark-Casey (justincc) 7bf1986e91 Fix minor race condition in SOP.SitTargetOrientationLL where inconsistent values could be returned if the sit orientation was changed whilst the property was being fetched. 2013-04-03 00:24:33 +01:00
Justin Clark-Casey (justincc) 97f0c9da84 Use consistent GroupPosition value Make SOP.UpdateGroupPosition() rather than one that could change whilst the method is being executed. 2013-04-03 00:23:20 +01:00
Justin Clark-Casey (justincc) c0319daa40 fix minor race condition in SOP.SitTargetPositionLL where inconsistency could occur if the sit target position changed whilst the property was fetched 2013-04-03 00:09:28 +01:00
Justin Clark-Casey (justincc) 3332af4060 minor: Make SOP.UpdateOffset() more consistent by checking against the same old OffsetPosition rather than one which may vary if it simultaneously changes. 2013-04-03 00:01:06 +01:00
Justin Clark-Casey (justincc) a3c723ee30 Fix minor race condition where SOP.GetGeometricCenter() and GetCenterOfMass() could return results which were never the case if these values were changed whilst the method was running
No need to create new Vector3s since these are structs.
2013-04-02 23:48:55 +01:00
Melanie 9b83e53b28 Export permission, part two. Setting export perms for textures and clothing works. Setting perms for prims also works but they don't propagate correctly yet.
NOT FOR PRODUCTIN USE. Your database will need to be updated before you can use this!
2013-03-31 21:59:44 +01:00
Kevin Cozens cbc9ae898c Added missing functionality (mainly custom headers) to llHTTPRequest. 2013-03-29 23:32:11 +00:00
Justin Clark-Casey (justincc) 023faa227e Check viewer 2/3 attachment calls against avatar appearance attachment data rather than actually attached objects
By checking against the grid's Avatar data, we can ignore viewer side attachments but still initiate these calls simulator-side.
Initiating simulator-side is always necessary for version 1 viewers.
This is a further commit to resolve http://opensimulator.org/mantis/view.php?id=6581
2013-03-29 23:10:28 +00:00
Justin Clark-Casey (justincc) 23ae4c0a4d Fix bug where CHANGED_REGION and/or CHANGED_TELEPORT weren't firing for scripts in attachments.
This was because the script resumption in AttachmentsModule was firing the attach event instead.
Had to reinstate the code in 285bd3a do we can resume the scripts there instead, though the bug existed before its removal.
This is to resolve http://opensimulator.org/mantis/view.php?id=6578
2013-03-29 02:21:38 +00:00
Justin Clark-Casey (justincc) 285bd3abc8 Eliminate code which tries to restart attachment scripts in ScenePresence.MakeRootAgent(), since this is already done in AttachmentsModule 2013-03-29 00:49:55 +00:00
Justin Clark-Casey (justincc) c92654fb43 Stop attempts to update/add existing attachments in user inventory when teleporting between regions.
This appears to resolve issues on teleport where attachments disappear or become labelled as invalid within user inventory.
2013-03-28 23:57:35 +00:00
Justin Clark-Casey (justincc) 03e421bf3d minor: comment out unused Scene.AgentCrossing() to reduce code complexity 2013-03-28 22:55:13 +00:00
Justin Clark-Casey (justincc) 4ad9b27530 If the viewer has already rezzed any attachments itself, then ignore the simulator-side rez attachments call.
This is a further effort to reduce v3 viewer race conditions where this call may clash with the viewer signalling attachment wearing from its current outfit folder.
2013-03-28 22:51:59 +00:00
Justin Clark-Casey (justincc) 3b377f16b2 Fix regression tests by making a new NPC always trigger simulator side attachment code when created.
Regression from previous commit c2093ccc.  Failed because NPCs don't set the ViaLogin flag
2013-03-28 22:44:59 +00:00
Justin Clark-Casey (justincc) c2093ccce1 Move the simulator-side RezAttachments call on login to SP.MakeRootAgent with the other attachments code, using TeleportFlags.ViaLogin check to fire if necessary.
This is to simplify the code (no tricky 'wasChild' signalling required)
and to reduce the risk of a thread clash between simulator-side attaching (necessary for v1 viewers)
and the viewer-side attaching the v3 viewers perform.
2013-03-28 22:07:58 +00:00
Melanie 5f4c4df227 Phase 1 of implementing a transfer permission. Overwrite libOMV's PermissionMask
with our own and add export permissions as well as a new definition for "All" as meaning "all conventional permissions" rather than "all possible permissions"
2013-03-26 03:40:06 +00:00
Justin Clark-Casey (justincc) 01636ca900 Fix teleporting into the non-SW 256x256 corner of a megaregion, though currently with a 10 second delay before auto-reteleport to the correct location.
This now does a check for border crossing (required to trigger the teleport) immediately in SP.MakeRootAgent().
If left any later, it looks like the physics scene changes the position and stops the cross happening.
If done any earlier, nothing happens because the cross-code currently requires a PhysicsActor to be in place, thuogh it's probably not necessary for this case.
2013-03-23 00:47:59 +00:00
Justin Clark-Casey (justincc) 93206ef0fa Add "show borders" command to show the borders of a region.
This is relevant to mega-regions where the borders are very different to a regular region.
Also adds some method doc and other code comments.
2013-03-23 00:45:21 +00:00
Justin Clark-Casey (justincc) 46c833810c On a teleport, lock m_agentsInTransit whilst we grab the value to check for completion just to be sure we're not using a thread cached version. 2013-03-21 00:46:08 +00:00
Justin Clark-Casey (justincc) 4de530af45 minor: disable logging on regression TestCrossOnSameSimulator() that I accidentally left on a few commits ago. 2013-03-20 23:13:12 +00:00
Justin Clark-Casey (justincc) b1cd1d917e minor: don't bother with the pause before rezzing attachments if we are running regression tests (fire and forget calls launched on the same thread).
Also adds code comments as to why this pause exists.
2013-03-20 23:12:13 +00:00
Justin Clark-Casey (justincc) 36651bed71 On the later forms of teleport failure, tell the user if this was because viewer couldn't/didn't connect with destination or if destination didn't signal teleport completion.
Also adds regression test for the case where the viewer couldn't connect with the destination region.
Also refactoring of regression test support code associated with entity transfer in order to make this test possible and the code less obscure.
2013-03-20 23:01:16 +00:00
Justin Clark-Casey (justincc) 8de933ab07 Insert a short delay on the simulator side rezzing of attachments in order to fix viewer 3 issues if its own rezzing actions on login collide with the simulator side actions.
This resolves issues (at least in my tests with LL 3.3.4) where this can make attachments invisible until one zooms in on the avatar.
This doesn't affect version 1 viewers since this delay is shorter than the login delay.
This doesn't increase the login time since this part of the process was already being performed asynchronously.
This may be a temporary solution.
2013-03-20 02:09:25 +00:00
Justin Clark-Casey (justincc) 3cb1c23554 Force a viewer object update for attachments at the end of the final Scene.CompleteMovement() in order to make all multi-attachments appear on the destination region.
For some reason, sending updates before this will not have this effect.
This may be something related to some viewers (e.g. LL 3.3.4) or something OpenSimulator isn't getting quite right.
2013-03-20 01:46:50 +00:00
Melanie 5e1f651e21 Merge branch 'master' into newmultiattach
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
2013-03-18 23:31:27 +00:00
Melanie fcecfc81bb Multiattach, part 1
Conflicts:

	OpenSim/Framework/AvatarAppearance.cs
	OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
	OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs
	OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
	OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2013-03-18 22:56:03 +00:00
Justin Clark-Casey (justincc) e9c394fb4e Make llGetObjectDetails() return the correct world rotation for a sitting avatar
This addresses http://opensimulator.org/mantis/view.php?id=6567
This creates a ScenePresence.GetWorldRotation() with the same semantics as SOP.GetWorldRotation()
SP.Rotation can't be used since it's relative to the sat upon prim if the avatar is sitting.
2013-03-14 21:23:48 +00:00
Justin Clark-Casey (justincc) 48d41ef307 Remove unnecessary instation of DOMap() in SOP from commit 5c53660 since this is being done lazily 2013-03-13 23:25:56 +00:00
Justin Clark-Casey (justincc) 5c53660a7f Add prototype dynamic objects map for scene object parts
This allows region modules to add dynamic objects to SOPs rather than having to continually push and pull OSD dynamic attributes.
This is to explore the original MOAP use case for dynamic attributes where it could be very awkward and possibly time-consuming to keep reconstructing MediaEntrys from stored DynamicAttributes.
This commit adds a DOExampleModule to demonstrate/evolve this code.
Dynamic objects involve no storage or persistence changes - the 'backing store' for any data that does need to be saved will remain the DAMap.
DOExampleModule in this commit only attaches a fresh dynamic object.  Actually constructing this from stored dynamic attributes and handling persistence is left for later.
These changes should affect no existing functionality, though it may or may not reveal necessary changes in DAMap down the road.
2013-03-13 22:59:06 +00:00
Justin Clark-Casey (justincc) 0c6268fe56 minor: remove mono compiler warning in SceneObjectUndoRedoTests 2013-03-11 23:15:13 +00:00
teravus 5097437e11 * Apparently, sometimes texture entries come in from the wire with no default texture defined.. so apply better fallback protection against that. The net result is clients will have their selected textures set when they would have previously had an ignored exception. 2013-03-08 19:32:47 -05:00
Justin Clark-Casey (justincc) 2fe938d11d Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-03-06 23:07:04 +00:00
Justin Clark-Casey (justincc) 5751ecde52 Add code for testing event queue messages recevied on region cross.
This is currently disabled pending an improvement in the test code to properly add avatars when an event queue module is present.
2013-03-06 23:06:00 +00:00
Justin Clark-Casey (justincc) 8960418e7d Add regression test for presence crossing between regions on the same simulator.
Unlike a much earlier commented out version of this test, this is done in synchronous mode.
2013-03-06 21:37:53 +00:00
Mic Bowman 9875e840f7 Per discussions with justincc... split the JsonStore type
functions into one for node type and one for value type.
Define and export constants for both nodes and values.
2013-03-05 20:33:17 -08:00
Justin Clark-Casey (justincc) 1bc8692a99 Move AllowedClients and BannedClients section to new [AccessControl] section in OpenSim.ini from [Startup]
This change also corrects the setting names - they were actually wrong (though the text in {} was correct).
If there are settings in [Startup] they will continue to be used and anything there will override settings in [AccessControl]
2013-03-02 01:43:54 +00:00
Justin Clark-Casey (justincc) 14684116f8 Add regression tests for llGetNotecardLine() 2013-02-28 20:57:03 +00:00
Justin Clark-Casey (justincc) 0e8ec5649e Get "show modules" console command to obey selected command line region/s 2013-02-27 22:32:14 +00:00
Justin Clark-Casey (justincc) b8a7c8b26f Add regression test for llRequestUrl() 2013-02-26 23:36:36 +00:00
Justin Clark-Casey (justincc) d0cb4fc326 Move map related settings from [Startup] to a new [Map] section in OpenSim.ini
Existing map settings in [Startup] will continue to work, and if present will override anything in [Map]
However, the proper place for such settings would now be [Map]
This is to reduce the use of [Startup] as a bag for non-generic settings which should really go in sections, in common with other settings.
This commit also extends Diva's previous work to allow a default setting to be given when looking at multiple sections for settings.
2013-02-25 23:04:38 +00:00
Justin Clark-Casey (justincc) a93f06eb88 minor: Add doc to ScenePresence.IsInTransit to make it clear that this is set only for region crossing and not teleport, etc. 2013-02-22 23:08:42 +00:00
Mic Bowman 903b40b47e Fix the JsonStore path set problem justincc found earlier today and
remove the deprecated TestPath functions.
2013-02-19 22:53:46 -08:00
Diva Canto 4779f7d7d5 Deleted all AssemblyFileVersion directives 2013-02-19 17:14:55 -08:00
teravus 6560d80fa8 * Fix walking to <NaN, NaN, NaN> via autopilot. 2013-02-16 22:54:37 -05:00
Justin Clark-Casey (justincc) e9cc22fea4 Add regression test TestSaveNonRootFolderToIar 2013-02-16 00:26:21 +00:00
Justin Clark-Casey (justincc) edb99dcc19 Rename new JsonScript functions JsonPathType() -> JsonGetPathType() and JsonArrayLength() -> JsonGetArrayLength()
This is for consistentency with the verb:noun naming approach existing json script functions and other script functions.
Corresponding c# methods also changed since verb:noun is also the .net c# method naming guideline (as used by OpenSimulator) and for consistency with script functions.
As agreed with cmickeyb
2013-02-14 21:11:58 +00:00
Robert Adams 5920abbf8d Add EventManager events triggered when a SOP is added or removed
from the physical scene. Invocations added in SceneObjectPart.
2013-02-14 09:48:11 -08:00
Melanie ef662fc959 Add an event and some logic to allow customizing Simulator Features by avatar 2013-02-14 09:11:57 +00:00
Mic Bowman bcb172301d Adds a couple requested functions to the JsonStore script
interface. JsonPathType returns the type of node pointed to by the
path and deprecates the functionality of both JsonTestPath
functions. JsonArrayLength returns the length of an array node.
2013-02-13 07:14:04 -08:00
Melanie 6f3dcf58b8 Fix code to check for no spawn points. Possibly a merge artefact? 2013-02-10 20:00:39 +00:00
BlueWall adedd70c35 Fix teleport/telehub issue:
Fix bug that allowed only login access to regions with mis-configured telehubs. Administrators now have teleport access when there exists a mis-configured telehub in the region. Estate owners are now placed at region center in the absence of spawnpoints instead of being denied access. Grid Gods are unrestricted. All others are denied access to the region until spawnpoints are assigned to the telehub object.
2013-02-10 13:01:33 -05:00
Justin Clark-Casey (justincc) c2bf91c5e3 If a component of a coalesced object fails to deserialization, do not add a null where the object should be.
This prevents a later load IAR failure.
This code is currently only used by IAR loading.
2013-02-08 02:45:30 +00:00
Melanie a2dad09172 Actually plumb the new values to physics. 2013-02-07 23:34:47 +00:00
Melanie 22675e6b14 Add some more code from Avination. This changes physics actor stuff around
to work with the new params. Not actually plumbed just yet.
2013-02-07 23:22:00 +00:00
Melanie 7bf33d333a Plumb the path from the client to the extra physics params and back 2013-02-07 22:25:28 +00:00
Melanie 9089757ea2 Revert "Add plumbing for physics properties to get to the physics engine."
This reverts commit c658fa1c0d.
2013-02-07 21:05:58 +00:00
Robert Adams c658fa1c0d Add plumbing for physics properties to get to the physics engine.
Addition of entries to PhysicsActor and setting code in SceneObjectPart.
2013-02-07 11:10:15 -08:00
Melanie 6504e3d4ce Rename "Bounciness" to "Restitution" 2013-02-07 03:30:02 +00:00
Mic Bowman e17392acbb Enables script access to the per object dynamic attributes through the JsonStore
script functions. Adds JsonAttachObjectStore to associate a store identifier with
an object (scripts can only access the store in their host object, this could be
extended but isn't necessary for now).

Note this opens a method to the DAMap OSDMap. This will be removed later, but
greatly simplifies the code for now.

The JsonStore and these scripts are disabled by default.
2013-02-06 17:29:17 -08:00
Melanie e5beb480ea Partial port of Avination's support for the new physics parameters.
Implements the parameters as properties, the serialization and
database storage (MySQL only). Implements llSetPrimitiveParams for
prim physics shape and the other 4 extra params. Only the prim shape type
"None" is currently functional. No support for the Viewer UI (yet), that
will be ported in due course. Lots more to port, this is a large-ish changeset.
2013-02-06 08:03:04 +00:00
Justin Clark-Casey (justincc) 145e38e5e9 Remove long unused Scene.DumpAssetsToFile boolean. 2013-02-06 02:21:17 +00:00
Justin Clark-Casey (justincc) 2ce8a050e4 Remove very long unused IScriptHost and NullScriptHost 2013-02-06 02:15:54 +00:00
Justin Clark-Casey (justincc) 9ebad38c34 Remove unused ScriptEngineLoader and ScriptEngineInterface in OpenSim.Region.Framework.dll
I believe this predates the generic system of registering interfaces and is very long unused.
2013-02-06 02:08:44 +00:00
Justin Clark-Casey (justincc) dfe5826f9f Remove wrong code in ScriptUtils.GetAssetIdFromKeyOrItemName which would return the item ID instead of the asset ID if the identifier was a uuid that matched an inventory item name.
This would practically never happen.
This makes this overloaded version of the function consistent with the other version.
It looks like this accidentally came over in commit c5af16a from Tue Oct 16 12:40:21 2012
However, there's arguably a case for looking for an item name that matches a UUID before assuming that the identifier is already an asset ID.
2013-02-06 01:49:32 +00:00
Justin Clark-Casey (justincc) 5c94346bd7 refactor: Move functions that lookup asset ids from task inventory or pass them through to ScriptUtils class in OpenSim.Region.Framework.dll
Renames functions to better reflect what they do.
This is so that code registering with modInvoke() can reuse this code to provide functions that behave in a consistent manner with existing LSL/OSSL functions.
2013-02-06 01:17:19 +00:00
Justin Clark-Casey (justincc) 1fc9f282fa Merge branch 'dynamic-attributes2' 2013-02-05 00:35:15 +00:00
Justin Clark-Casey (justincc) 1f1da23097 Bump version and assembly version numbers from 0.7.5 to 0.7.6
This is mostly Bluewall's work but I am also bumping the general version number
OpenSimulator 0.7.5 remains in the release candidate stage.
I'm doing this because master is significantly adding things that will not be in 0.7.5
This update should not cause issues with existing external binary DLLs because our DLLs do not have strong names
and so the exact version match requirement is not in force.
2013-02-05 00:23:17 +00:00
Justin Clark-Casey (justincc) 0d0bfa4dcd minor: change comment about assuming script references are textures in UuidGatherer since this is no longer the behaviour. 2013-02-02 03:02:04 +00:00
Justin Clark-Casey (justincc) 9822bb664b Log missing assets on "fcache assets" found. This ignores references found by scanning LSL/notecard files since these are the source of false positives.
This also changes UuidGatherer to reutn an AssetType.Unknown for embedded script/lsl references instead of Texture, since these are often not textures.
This is added to help people in determining when they have missing assets such as textures, etc.
In this case, one wants to run "fcache clear" first.
2013-02-02 02:57:38 +00:00
teravus d8d4e7f236 Sit and Spin reduction. If sitting, slam avatar angular velocity to zero. 2013-02-01 15:42:24 -05:00
Melanie 6a4c8824ea Whitespace fix and removing unneccessary parentheses 2013-01-31 20:46:41 +00:00
BlueWall a8fa8af9fc Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-01-30 23:44:06 -05:00
Jak Daniels fac72d540b Allow use of MaptileStaticUUID in Regions.ini to override the global setting in OpenSim.ini for each region.
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2013-01-30 23:37:02 -05:00
Mic Bowman a0ef3df194 Add JsonTestStore to determine if a JsonStore is associated with
a particular UUID.
2013-01-30 14:45:03 -08:00
teravus 52ea6eadae * This adds a bit more to the previous flying roll effect by adding additional roll when pressing page down, and reducing your roll when pressing page up to make it feel more responsive and give the user more visual feedback. 2013-01-30 07:34:48 -05:00
teravus 7c4e0ff03c * Adds a satisfying angular roll when an avatar is flying and turning. (General, not physics). Makes flying not feel as stiff. 2013-01-30 06:22:05 -05:00
Melanie 776cc33541 Prevent items being destroyed by rename operations. Renaming of a wearable also
sends an asset transaciton but it is empty. So we can't ignore name data
when a transaction is present and can't treat every transaction as valid.

Conflicts:

	OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
2013-01-27 01:07:37 +00:00
Justin Clark-Casey (justincc) 53833babf9 Add OnScriptMovingStartEvent and OnScriptMovingEndEvent to EventManager so that these can be triggered by future code (not yet implemented).
Also hooks up moving_start and moving_end script events, eliminating itemID on XEngine EventManager methods since this is completely unused.
An adaptation of the patch in http://opensimulator.org/mantis/view.php?id=6515
Thanks Garmin Kawaguichi and Signpost Marv.
2013-01-26 03:57:51 +00:00
Oren Hurvitz af6a7cf95d Added DynAttrs to the serialized XML format of prims. When copying prims, use deep copy for DynAttrs. 2013-01-25 04:03:26 +00:00
Justin Clark-Casey (justincc) a6d9c26365 Encapsulate an OSDMap in DAMap (was DynAttrsOSDMap) rather than inheriting from it
This is the easier way to give us control over locking, rather than asking that OSDMap IDictionary methods be virtual
2013-01-25 04:03:11 +00:00
Justin Clark-Casey (justincc) 1bd0b06ec1 Implement Dynamic Attributes for SOP and PBS. Implement storage in SQLite 2013-01-25 04:03:04 +00:00
teravus 878df52515 * This makes the non-physics llCastRay 'better'. It's not 'correctly working', and if you look deep enough, you see that the results are not really stable depending on the direction of the ray. 2013-01-23 21:58:51 -05:00
Melanie c1795ed399 Add the Avination physics raycast glue so Core Physics can implement raycast 2013-01-23 21:03:24 +00:00
Robert Adams 95c53ecae7 Have SOP and LSL_Api call the proper GetCenterOfMass and GetGeometricCenter
routines on the physics engine. Won't make a difference for any
existing scripts since ODE always returned Vector3.Zero.
2013-01-21 15:55:54 -08:00
Justin Clark-Casey (justincc) fc6115f777 Check the existing ScenePresence.ParentPart to make sure we're not trying to sit on a prim we're already sat upon, rather than looking up the part from scratch.
An adaptation of commit 055b8a2
Having both ParentID and ParentPart references now is redundant.  ParentID should probably be eliminated.
2013-01-19 02:29:02 +00:00
Justin Clark-Casey (justincc) 115e1c2abb Add "debug set set animations true|false" region console command.
Setting this logs extra information about animation add/remove, such as uuid and animation name
Unfortunately cannot be done per client yet
2013-01-18 23:22:02 +00:00
Justin Clark-Casey (justincc) 74256c0cc4 Restore previous client AO behaviour by not allowing them to remove the default animation but continue to allow scripts to do so.
This keeps the fix from http://opensimulator.org/mantis/view.php?id=6327
and fixes the behaviour regression in http://opensimulator.org/mantis/view.php?id=6483
Animations may still exhibit different behaviour if both scripts and clients are adjusting animations.
A change in the behaviour of client AO to not remove all animations may be a better long term approach.
2013-01-18 22:57:09 +00:00
Justin Clark-Casey (justincc) 0963ece25b Implement co-operative script termination if termination comes during a script wait event (llSleep(), etc.)
This makes use of EventWaitHandles since various web references indicate that Thread.Interrupt() can also cause runtime instability.
If co-op termination is enabled, then termination sets the wait handle instead of waiting for a timeout before possibly aborting the thread.
This allows the script to cleanly terminate if it's in a llSleep/LL function delay or the next time it enters such a wait without any timeout period.
Co-op termination is not yet testable since checking for termination request within loops that never trigger a wait is not yet implemented.
This commit, unlike 1b5c41c, passes the wait handle as an extra parameter through IScript.Initialize() instead of passing IScriptInstance itself.
2013-01-16 02:07:43 +00:00
Justin Clark-Casey (justincc) b8949024bc Revert "Implement co-operative script termination if termination comes during a script wait event (llSleep(), etc.)"
Doing this as a favour to Melanie.  This will be back with passing the wait handles directly to the api.

This reverts commit 1b5c41c14a.
2013-01-16 01:45:09 +00:00
Justin Clark-Casey (justincc) 03a8a4426f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-01-16 00:20:18 +00:00
Justin Clark-Casey (justincc) 1b5c41c14a Implement co-operative script termination if termination comes during a script wait event (llSleep(), etc.)
This makes use of EventWaitHandles since various web references indicate that Thread.Interrupt() can also cause runtime instability.
If co-op termination is enabled, then termination sets the wait handle instead of waiting for a timeout before possibly aborting the thread.
This allows the script to cleanly terminate if it's in a llSleep/LL function delay or the next time it enters such a wait without any timeout period.
Co-op termination is not yet testable since checking for termination request within loops that never trigger a wait is not yet implemented.
2013-01-16 00:12:40 +00:00
dahlia 055b8a2d58 move resit fix to ScenePresence.cs and allow for requesting sit on objects other than the object currently sat on 2013-01-14 22:24:24 -08:00
Robert Adams daacd4deed Fix exception reporting in SceneObjectPart so it logs what the exception is rather than just saying it happened. 2013-01-11 16:47:07 -08:00
Justin Clark-Casey (justincc) 05ac6d3209 Save attachments on detach/exit if a contained script state has been changed.
This involves making Attachments module listen for start/stop script changes.
It also involves removing the script from the region on detach in the same manner as every other DeleteSceneObject() call rather than simply stopping it
This is necessary tue to the bad assymetry of start and stop script triggers but it appears to be the correct behaviour anyway, as detached objects are completely gone from the sim.
Not just in a state where their scripts have been stopped.
2013-01-11 01:46:36 +00:00
Justin Clark-Casey (justincc) a16ae5d7e3 Move scene debug commands into separate module. Command changes from "debug scene <key> <value>" to "debug scene set <key> <value>" to accomodate future settings 2013-01-10 23:49:48 +00:00
Justin Clark-Casey (justincc) 983e458bb6 refactor: route the final scene backup through the same code that handles periodic backup
This is rather than making unnecessary duplicate checks that the SOG later performs again.
2013-01-10 22:59:40 +00:00
Justin Clark-Casey (justincc) 701ca1e4b8 Add "debug scene pbackup true|false" console command. This enables or disable periodic scene backup. For debug purposes.
If false, scene is still saved on shutdown.
2013-01-10 22:38:48 +00:00
Melanie f16c4a254c Revert "Prevent empty Anim Packs"
This reverts commit 5561333668.
2013-01-09 00:20:24 +00:00
Melanie c1c540f454 Revert "Fix sequence id fr default anim"
This reverts commit a775931a0c.
2013-01-09 00:20:14 +00:00
Melanie a775931a0c Fix sequence id fr default anim 2013-01-08 23:36:05 +00:00
Melanie 5561333668 Prevent empty Anim Packs 2013-01-08 23:12:32 +00:00
Justin Clark-Casey (justincc) 9503383887 Fix llGetLinkKey() to return the last sat avatar as the last link number.
As per http://wiki.secondlife.com/wiki/LlGetLinkKey
This is done by keeping a scene-object wide list of sitters.
This also fixes bugs in this function where linknums 0 and 1 weren't treated properly if there were sitting avatars on a single prim.
This also fixes a minor race condition for multiple concurrent sitters on a prim with no current sitters by locking on the object-wide list rather than individual sop lists
Addresses http://opensimulator.org/mantis/view.php?id=6477
2013-01-04 20:34:39 +00:00
Oren Hurvitz 1a6694b264 Fixed several problems with the Sun: some settings didn't work, or were inconsistently used. - The sun position is always calculated by combining the sun settings in the Region and Estate. This fixes the problem that 'UseEstateSun' didn't work. - To remove ambiguity, the EstateToolsSunUpdate event no longer accepts the sun's position as parameters. That's because the position is always calculated from the Region and Estate settings. - Use only the 'FixedSun' flag to determine whether the sun is fixed; not the 'UseGlobalTime' flag. - Don't change the region's 'SunPosition' field according to the sun's position: this field is used only to set the position when using a FixedSun. (The 'SunVector' field does get updated according to the sun's position in the sky) 2013-01-02 23:16:24 +00:00
Robert Adams fdf8732cd7 ScenePresence passes the avatar rotation down to the physics engine. This will be a no-op for ODE but enables asymmetrical avatars for BulletSim. 2012-12-28 16:29:16 -08:00
Robert Adams 5afab9bcfe Add check to always push terse updates for presences that have new velocities of zero. 2012-12-27 22:12:27 -08:00
Robert Adams d15bfcf614 Replace axis rotation numeric constants (STATUS_ROTATE_XYZ) with symbols. Also made it so llSetStatus() can individually enable disable rotation axi using the bitmask of flags. 2012-12-18 19:25:40 -08:00
Robert Adams 8a95953bb7 BulletSim: experimentally remove unit displacement from prim border crossing test. This seems to cause border crossing to be sensed either a little early or a little late depending on which directin the object is moving. If border crossings become totally borked or someone remembers why this was displacement was done, revert this change. 2012-12-16 21:19:12 -08:00
Justin Clark-Casey (justincc) 494e6a5f11 minor: If the physics module tells us that an object has gone out of bounds, more helpfully log the name, id, position and region of that object. 2012-12-15 00:30:17 +00:00
Justin Clark-Casey (justincc) 56ec177b3b minor: Add commented out log lines to ScenePresenceAnimator for future debug use (such as logging anim pack contents sent to clients) 2012-12-14 23:42:23 +00:00
Justin Clark-Casey (justincc) 750ad2d3af Fix issue where calling llVolumeDetect(FALSE) would not remove phantom flag, causing subsequent issues if physics was re-enabled.
Added regression tests
Addresses http://opensimulator.org/mantis/view.php?id=6365
2012-12-14 22:15:40 +00:00
Dan Lake 88b094cbf7 Simplify sit code a bit by determining correct animation in HandleSit instead of HandleSitRequest. This eliminates m_nextSitAnimation, an unneeded state-saving variable in ScenePresence 2012-12-13 13:05:28 -08:00
Diva Canto b8178f5a50 Switched the order by which foreign inventory and foreign assets are brought in, to avoid race conditions on the client. 2012-12-09 22:03:21 -08:00
Diva Canto cb80d8a29c UserManagementModule: search the local cache for names too.
Inventory transfers: don't do async on asset transfers or now.
2012-12-09 15:31:11 -08:00
Justin Clark-Casey (justincc) 0568c76a88 Use a thread abort safe version of OpenMetaverse.DoubleDictionary with the aim of avoiding OpenSimulator problems due to script thread aborts.
When an object is removed, its scripts are stopped and then the thread running them is aborted if stop takes too long.
However, it appears that aborting a thread at just the wrong moment when it is obtaining a ReaderWriterLockSlim lock can leave this lock in an inconsistent state.
One symptom of this is that mono leaps to 100% cpu and a vm thread dump reveals lots of threads waiting for a ReaderWriterLockSlim lock without any thread actually holding it.
This is probably the same problem as encountered originally in commit 12cebb12
This commit looks to plaster this problem by putting lock obtaining methods inside finally blocks which should be uninterruptible by thread aborts.
2012-12-07 00:47:04 +00:00
Justin Clark-Casey (justincc) fb26d32a5c minor: Put Scene.PhysicsRequestAsset() into standard C# xml format. 2012-12-04 22:33:25 +00:00
BlueWall ac65085cc3 XmlRpcGridRouter
Flesh out XmlRpcGridRouter to reap unused channels from gateway when scripts or objects are removed, or when the llCloseRemoteDataChannel is called.

  See: http://http://forge.opensimulator.org/gf/project/xmlrpcrouter/ or
       https://github.com/BlueWall/XmlRpcRouter

  for php gateway and test code.
2012-12-03 20:16:44 -05:00
Justin Clark-Casey (justincc) 02db8b9adb Combine TestDeleteSceneObjectAsync() with TestDeRezSceneObject() as they are functionally identical.
Move TestDeleteSceneObjectAsync() and TestDeleteSceneObjectAsyncToUserInventory() from SceneObjectBasicTests -> SceneObjectDeRezTests
2012-11-24 03:49:23 +00:00
Justin Clark-Casey (justincc) a4ce63d0cd Fix regression TestDeleteSceneObjectAsyncToUserInventory by adding a BasicInventoryAccessModule() and re-enable in test suite. 2012-11-24 03:38:15 +00:00
Justin Clark-Casey (justincc) 22d4c52ffc Consistenly make NUnit test cases inherit from OpenSimTestCase which automatically turns off any logging enabled between tests 2012-11-24 03:15:24 +00:00
Justin Clark-Casey (justincc) 1f336579c8 minor: Make note in log if scene was restarted due to an unrecoverable physics error 2012-11-23 04:06:48 +00:00
Justin Clark-Casey (justincc) 8c8c8a00a4 Fix problem where restarting the currently selected region would stop various console commands (e.g. "show users") from working.
This was because the "currently selected" scene reference was being left as the dead scene instead of the restarted Scene object.
2012-11-23 02:22:30 +00:00
Justin Clark-Casey (justincc) 049987925d Add regression test for checking scene close when SceneManager is asked to close 2012-11-23 02:05:30 +00:00
Justin Clark-Casey (justincc) 61808d148e Fix regression where we stopped closing scenes on simulator exit.
If we don't do this, then these scenes don't get deregistered from the grid, amongst other things.
Regression was introduced in commit 8c130bc (Mon Nov 12 22:50:28 2012 +0000)
2012-11-23 01:01:39 +00:00
Justin Clark-Casey (justincc) 597a101b9f Minor formatting for 0962a35d and a few one-line comments as to why that code is there 2012-11-20 05:09:44 +00:00
Iain Oliver 0962a35d2f Fix movetotarget on mega regions. 2012-11-20 04:54:13 +00:00
Diva Canto aeeaa3a0a9 Added AssemblyInfos to every dll in the OpenSim.Region namespace. 2012-11-14 11:09:43 -08:00
Melanie 4edaa4e41a Completely remove the IRegionModule interface 2012-11-12 22:56:59 +00:00
Melanie faca755995 Stop closing old style modules 2012-11-12 22:51:24 +00:00
Melanie 8c130bcaf5 Remove the old style module loader and all references to it 2012-11-12 22:50:28 +00:00
SignpostMarv f560d581bb document & 80-character width terminal formatting
Signed-off-by: Diva Canto <diva@metaverseink.com>
2012-11-11 13:50:38 -08:00
PixelTomsen 37c9700904 moving windlight-sources to correct namespace-named folder (world); add LightShare as Interface
Signed-off-by: Diva Canto <diva@metaverseink.com>
2012-11-11 11:17:40 -08:00
Diva Canto e10d61ea8c One more module converted: CloudModule. 2012-11-10 11:59:08 -08:00
SignpostMarv d0742cea3e 80 character-width terminal formatting of IDialogModule interface, removing superfluous whitespace & line-endings. 2012-11-10 08:12:30 -08:00
SignpostMarv ee3d06220e Documenting parameters of methods on the IDialogModule interface 2012-11-10 08:12:30 -08:00
Justin Clark-Casey (justincc) c94240ba5b Uncomment SceneObjectBasicTests.TestDeleteSceneObjectAsyncToUserInventory() and make it compile again
Not currently in test suite since not yet working.
Also add method doc to Scene.DeRezObjects()
2012-11-10 05:43:57 +00:00
Diva Canto 19aab3e6fe Converted the WindModule to the new region module interface (38 to go). Also added both the WindModule and the SunModule to the Plugin manifest. 2012-11-09 16:28:30 -08:00
Diva Canto 7dfd1468cc Converted the SunModule to the new region module interface. (39 to go...) 2012-11-09 15:38:10 -08:00
SignpostMarv 5bff741544 marking IRegionModule interface as obsolete via System.ObsoleteAttribute, intentionally triggering a bunch of warnings in compiler output in hopes of encouraging other developers to refactor built-in modules when they have free time. 2012-11-09 14:20:24 -08:00
Melanie f391d028de Add a method to query all registered script constants to allow non-XEngine
script engines to use them.
2012-11-04 22:39:15 +00:00
Dan Lake 2e106cd5de Change to earlier commit for TargetVelocity to support distributed physics. 2012-11-02 03:09:04 -07:00
Dan Lake ffe4d738fb Add TargetVelocity to PhysicsActor interface to support distributed physics. No change to existing functions. 2012-10-31 17:13:18 -07:00
Justin Clark-Casey (justincc) 6235d16c31 Make "show object part" command correctly display script status.
Uses new IEntityInventory.TryGetScriptInstanceRunning()
Makes it clearer that TaskInventoryItem.ScriptRunning cannot be used as it is temporary and not updated.
2012-10-31 00:31:18 +00:00
Melanie 3388534ff5 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-10-30 23:14:06 +00:00
Melanie fd9cb3cb68 Store and send the current movement animation state to a new sim on crossing 2012-10-30 23:08:22 +00:00
Justin Clark-Casey (justincc) 984faf24df Only create a new list to check if objects have reached targets if there actually are any targets. 2012-10-30 01:48:05 +00:00
SignpostMarv 2bb0419251 documenting some params on ISoundModule methods 2012-10-29 23:39:01 +00:00
SignpostMarv a9999a9676 Refactoring llTriggerSoundLimited with a new method on ISoundModule, as the LL Wiki spec for llTriggerSoundLimited states an axis-aligned bounding box, not radial constraint 2012-10-29 23:39:01 +00:00
SignpostMarv c5af16aef8 shuffling code around so that the interface for ISoundModule.SendSound() specifies a UUID rather than a string 2012-10-29 23:39:00 +00:00
SignpostMarv 5abcecc735 moving SendSound from SceneObjectPart to ISoundModule 2012-10-29 23:39:00 +00:00
SignpostMarv af39af1cc4 fixing a bug in SceneObjectPart.SendSound where sounds would always come from the root prim rather than the source prim 2012-10-29 23:39:00 +00:00
SignpostMarv 57940087d1 Factoring out a superfluous local variable & repeated assignment in SceneObjectPart.SendSound as linksets are only meant to have a single owner 2012-10-29 23:38:59 +00:00
SignpostMarv 9df510157e deduplicating code into a single LoopSound method 2012-10-29 23:38:59 +00:00
SignpostMarv 22693304fb removing superfluous lines from SceneObjectPart.SendSound 2012-10-29 23:38:59 +00:00
SignpostMarv d7ffcace8f adjusting parameter order of PreloadSound to be more logical 2012-10-29 23:38:59 +00:00
SignpostMarv 29a8ae48b5 transposing LoopSoundMaster to Sound Module 2012-10-29 23:38:59 +00:00
SignpostMarv a68e2fe169 transposing preload sound onto sound module 2012-10-29 23:38:58 +00:00
SignpostMarv 8763a637b5 transposing stop sound into sound module 2012-10-29 23:38:58 +00:00
SignpostMarv b9e0f1cd2b documenting ISoundModule methods & fields 2012-10-29 23:38:58 +00:00
SignpostMarv d4034271eb formatting ISoundModule prior to documentation 2012-10-29 23:38:58 +00:00
SignpostMarv 1c618843b8 formatting changes to SceneObjectPart.SendSound; consistent indentation 2012-10-29 23:38:58 +00:00
SignpostMarv 32db725dd7 SceneObjectPart.SendSound can exit early if a sound module was not found. 2012-10-29 23:38:58 +00:00
SignpostMarv f4fe8763ad Changing the logic order in the TaskInventory iterator of ScenObjectPart.SendSound, since we can currently have non-unique object inventory names so we should check the asset type first. 2012-10-29 23:38:58 +00:00
SignpostMarv b42cfe49a2 Replacing double-if block in SceneObjectPart.SendSound with Util.Clip 2012-10-29 23:38:57 +00:00
SignpostMarv 1d47bcb6b6 stripping whitespace from ISoundModule, formatting SoundModuleNonShared.cs 2012-10-29 23:38:57 +00:00
SignpostMarv 375fb66589 making the max distance for sounds to be heard from their origin a configurable option exposed via a public field on ISoundModule (with private setter in the implementation) 2012-10-29 23:38:57 +00:00
Justin Clark-Casey (justincc) 09f4e72d6a Fix memory leak where removing an NPC did not remove its circuits.
This was because we were removing by circuitcode where NPCs have no code.
Now removing by agent ID instead.
This commit also fixes the "show circuits" console command to work properly where the circuit has no associated IP address.
2012-10-29 23:22:40 +00:00
Justin Clark-Casey (justincc) 5681e812a5 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-10-29 23:19:06 +00:00
Justin Clark-Casey (justincc) c97890ca69 Add "force gc" region console command which manually invokes garbage collection.
For debugging purposes.
2012-10-29 22:53:06 +00:00
Melanie 5a96ef52cb Deep copy the collection of at_target objects so it can't be modified while
it's being iterated
2012-10-28 18:41:47 +00:00
Melanie 1c5f6e48b8 Separate LSL's notion of the default anim from the actually playing anims. 2012-10-26 21:23:20 +01:00
Melanie de6f147d3c Revert "Fix for Mantis 0006376: Avatar no longer show Walking animation when any AO hud is"
This reverts commit fa484c3494.
2012-10-26 21:16:27 +01:00
SignpostMarv 80dcc13af2 refactoring IWorldCommListenerInfo.GetRegexBitfield() method to be a field with a private setter 2012-10-26 02:08:00 +01:00
SignpostMarv e977761071 adding ability for listeners to be filtered by regular expressions and a general-purpose function to see if a given string matches a given regex 2012-10-26 02:08:00 +01:00
SignpostMarv 18b1ee6f37 Formatting and casing correction in WorldCommModule, trailing new line in OSSL to get git diff to not complain 2012-10-26 02:08:00 +01:00
Justin Clark-Casey (justincc) 2fb89b5aac Comment out InventoryTransferModule.NeedSceneCacheClear() and invocations since the call itself does nothing and the return value is ignored by all callers.
This is a very old method (+4 years) so is probably confusing code cruft.
2012-10-26 01:15:16 +01:00
Justin Clark-Casey (justincc) dc17cee044 minor: if a scene is already shutting down on Scene.Close(), warn and exit instead of attempting to run another shutdown concurrently.
Thanks to Oren Hurvitz for this change.
2012-10-25 23:47:55 +01:00
Oren Hurvitz b4923da334 Changed "course" to "coarse" in several places 2012-10-25 23:32:37 +01:00
Justin Clark-Casey (justincc) 0482758e96 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-10-25 23:17:07 +01:00
Justin Clark-Casey (justincc) 22e216fd12 In Scene.Close(), dispose of the physics scene after base.Close() since script events can still access Physics scene until the script engine shuts down (triggered off base.Close())
XEngine listeners to EventManager.OnShutdown which is triggered from base.Close().
Possibly it could listen for the earlier OnSceneShuttingDown instead, but the easier solution right now is to relocate disposal of the physics scene.
This bug has existed since c150320 (Thu Jul 26 15:27:18 2012) and was in 0.7.4
2012-10-25 22:55:29 +01:00
nebadon fa484c3494 Fix for Mantis 0006376: Avatar no longer show Walking animation when any AO hud is
loaded.  Thank you tglion
2012-10-25 11:31:25 -07:00
Justin Clark-Casey (justincc) c13a99dc5c Fix script error messages not showing up in viewer 3 and associated viewers.
Viewer 3 will discard such a message if the chat message owner does not match the avatar.
We were filling the ownerID with the primID, so this never matched, hence viewer 3 did not see any script error messages.
This commit fills the ownerID in with the prim ownerID so the script owner will receive script error messages.
This does not affect viewer 1 and associated viewers which continue to process script errors as normal.
2012-10-25 03:26:12 +01:00
Justin Clark-Casey (justincc) d9aaf51561 When scripts generate expected exceptions (e.g. due to checked bad parameter) throw ScriptException instead of just a plain old exception.
This is to make it easier to distinguish these exceptions from unexpected OpenSimulator problems internally and in regression tests.
No functional changes.
2012-10-25 02:52:20 +01:00
Justin Clark-Casey (justincc) 81aeecc907 Allow "show object", "show part", "dump object" and "delete object" to accept a local ID as well as a UUID.
This means that the sub-commands are now id rather than uuid, e.g. show object id
2012-10-24 04:10:22 +01:00
Justin Clark-Casey (justincc) 4578ff74fe Add object count stats for new IncomingPacket and UDPPacketBuffer pools if they are enabled. Add count stats for existing LLUDP pool.
This introduces a pull stat type in addition to the push stat type.
A pull stat takes a method on construction which knows how to update the stat on request.
In this way, special interfaces for pull stat collection are not necessary.
2012-10-23 01:52:10 +01:00
Justin Clark-Casey (justincc) d55f72f3df minor: Rename assetCache constructor param in UUIDGatherer to assetService which is what it is. 2012-10-20 02:35:39 +01:00
UbitUmarov 32171708c3 normalize quaternion.Slerp outputs
Signed-off-by: Melanie <melanie@t-data.com>
2012-10-19 01:37:46 +01:00
Justin Clark-Casey (justincc) 8aa43e72e5 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-10-18 23:32:40 +01:00
Justin Clark-Casey (justincc) a960273e91 Add number of inventory items to information displayed via "show part" console command 2012-10-18 23:02:57 +01:00
Melanie a2c93133be Remove extraneous calls to the now commented CheckSculptAndLoad 2012-10-18 21:23:57 +01:00
UbitUmarov afab5f5cd1 extend coment to include all unused SOG CheckSculptAndLoad() 2012-10-18 21:13:25 +01:00
UbitUmarov 7ab83f9eb2 [DANGER UNTESTED] ODE mesh assets. Other plugins will not do meshs/sculpts
now

Signed-off-by: Melanie <melanie@t-data.com>
2012-10-18 21:13:02 +01:00
Justin Clark-Casey (justincc) d469bde849 minor: Add/correct some doc messages associated with entity teleport.
I believe UseCircuitCode is sent on EnableSimulator EQ message, rather than EstablishAgentCommunication
At least with LL 3.3.4, EstablishAgentCommunication appears unnecessary in the teleport context -
viewer still requests it though possibly only after TeleportFinish().  However, we will continue to send it.
2012-10-16 01:20:41 +01:00
Justin Clark-Casey (justincc) fba59d905c Get rid of accidental scene start left in ScenePresenceAutopilotTests 2012-10-12 03:20:27 +01:00
Justin Clark-Casey (justincc) b9c2a1508e Fix problems with regression tests by allowing invoke of Update() with a finite number of frames even if the scene isn't active. 2012-10-12 03:19:12 +01:00
Justin Clark-Casey (justincc) b5a3c74a5c Add "active true|false" to "debug scene" console command.
This allows the scene update and maintenance loops to be started and stopped for debug purposes.
2012-10-12 02:52:08 +01:00
Justin Clark-Casey (justincc) 528085adef minor: Add method doc to EventManager.OnNewClient, OnClientLogin, ClientClosed, OnRemovePresence that any long-running operations should be launched on a thread separate to the event thread. 2012-10-10 00:48:20 +01:00
Justin Clark-Casey (justincc) e76b01a201 Lock on AgentCircuitData during Scene.AddClient() and RemoveClient() to prevent an inactive connection being left behind if the user closes the viewer whilst the connection is being established.
This should remove the need to run the console command "kick user --force" when these connections are left around.
2012-10-10 00:26:43 +01:00
Justin Clark-Casey (justincc) a3c0e3ed26 minor: elaborate method doc on Scene.NewUserConnection() 2012-10-09 22:19:47 +01:00
Dan Lake d342adaa87 Merge branch 'master' of git://opensimulator.org/git/opensim 2012-10-08 15:25:26 -07:00
Justin Clark-Casey (justincc) 16c9c1dff7 On receiving TaskInventoryAccepted with a destination folder in the binary bucket slot for RLV, notify the viewer about inventory folder updates.
The viewer would not see the folder move without this, either on accept or decline.
This commit also updates the TaskInventoryOffered message to better conform with the data LL uses
Changes are, agentID is prim owner rather than prim id, agent name is now simply object name rather than name with owner detail,
message is just folder name in single quotes, message is not timestamped.
However, folder is not renamed "still #RLV/~<name>".  Long term solution is probably not to do these operations server-side.
Notes will be added to http://opensimulator.org/mantis/view.php?id=6311
2012-10-06 02:34:49 +01:00
Dan Lake 91ca3117cb Add bool to TriggerSceneObjectPartUpdated where full = true indicates a full update. There should be a better way to indicate which properties have changed that is non LLUDP-centric 2012-10-05 17:32:07 -07:00
Dan Lake 6f220a8679 Trigger ObjectAddedToScene when loading objects from oarfile. Already triggers when creating, duplicating or loading from database, incoming attachments, etc 2012-10-05 17:30:27 -07:00
Justin Clark-Casey (justincc) 8cd1dc8d60 minor: Add missing license information from the top of IUserManagement 2012-10-05 02:07:28 +01:00
Justin Clark-Casey (justincc) 03136df1a7 Forgot to actually remove the packetpool set code from scene. 2012-10-05 01:45:49 +01:00
Melanie b977f962fa Allow default animation to be stopped to be replaced with another one.
Fixes Mantis #6327
2012-10-04 15:42:52 +01:00
Justin Clark-Casey (justincc) 3d36a6d55c Add generic PercentageStat.
Not yet used.
2012-10-04 01:27:40 +01:00
Justin Clark-Casey (justincc) e717398f6c Add experimental "slow frames" stat, available in "show stats" and via the monitoring module.
This increments a SlowFrames counter if a frame takes over 120% of maximum time.
This commit also introduces a generic OpenSim.Framework.Monitoring.Stat which is available to any code that wants to register a statistic.
This is more granualar than asking objects to create their own reports.
At some point this will supersede earlier IMonitor and IAlert facilities in MonitoringModule which are only available to scene code.
2012-10-04 00:32:42 +01:00
SignpostMarv 35b7c80e0b implementing osDropAttachment & osDropAttachmentAt 2012-10-02 22:14:46 +01:00
Melanie 402128bb53 Prevent the ExtraSettings code from crashing SQLite driven sims. 2012-10-02 00:51:38 +01:00
Justin Clark-Casey (justincc) 2bf42f30af Add MaxPrimsUndo config setting to [Startup] section of OpenSim.ini.
This controls how many undo steps the simulator will store for each prim.
Default is now 20 rather than 5 as it briefly was.
The default number could be increased through this is a memory tradeoff which will scale with the number of prims in the sim and level of activity.
2012-09-27 00:12:34 +01:00
Justin Clark-Casey (justincc) b9934fc4db Don't store undo states if a scene object is manipulated when it is not in a scene.
Adds regression test for this.
2012-09-26 23:31:10 +01:00
Justin Clark-Casey (justincc) 31c636f1e4 refactor: Change control structures in SOP.StoreUndoState() to reduce nesting. 2012-09-26 23:25:50 +01:00
Justin Clark-Casey (justincc) 36e3123069 Make it possible to rescale SOGs when they are not in a scene. 2012-09-26 23:17:21 +01:00
Justin Clark-Casey (justincc) 327320d1a7 Enforce existing 5 action hardcoded undo limit.
This was present in the code but not enforced, which led to a memory leak over time as part properties were changed, whether by viewer, script or another source.
This commit enforces that limit, which will soon become configurable.
Regression test for undo limit added
Should help with http://opensimulator.org/mantis/view.php?id=6279
2012-09-26 22:49:44 +01:00
Justin Clark-Casey (justincc) 90dd5844d6 Add basic undo/redo regression tests. 2012-09-26 21:28:43 +01:00
SignpostMarv 020103c51e Documenting object-related events 2012-09-24 22:59:02 +01:00
Justin Clark-Casey (justincc) ac02cadbdb Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-09-24 22:52:33 +01:00
SignpostMarv 1cfd63d0b4 Documenting LSL script-related events 2012-09-24 22:44:37 +01:00
Diva Canto ebd99c9e3e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-09-21 17:59:42 -07:00
Diva Canto 21a6ef5bb6 This fixes HG attachments' missing assets (textures, etc).
Also, further improvements on HGUuidGatherer: if the assets are already in this grid don't fetch them again.
2012-09-21 17:58:44 -07:00
Justin Clark-Casey (justincc) b36ef60aca Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-09-22 01:05:33 +01:00
SignpostMarv 8d7b1f8aa0 Documenting non-LSL script-related events 2012-09-22 00:57:29 +01:00
Diva Canto cfa022700d Moved the small HGUuidGatherer class to the file where its parent class is. No need to keep 2 separate files. 2012-09-21 16:45:16 -07:00
Justin Clark-Casey (justincc) 632a42e2b1 Rename UuidGather.m_assetCache to m_assetService. If HGUuidGatherer hasn't been instantiated with an assetServerURL then call down to overriden UuidGatherer.GetAsset() instead of calling m_assetService.GetAsset() itself - these two codepaths are now identical. 2012-09-21 01:57:13 +01:00
Justin Clark-Casey (justincc) bceef401fa Simplify UuidGatherer by performing asset fetch synchronously rather than using the async call but waiting for completion anyway! 2012-09-21 01:36:23 +01:00
SignpostMarv d667f9d260 Documentation of teleport-related events 2012-09-20 01:56:18 +01:00
SignpostMarv 696b3f66c4 minor tweaks to existing comments for IDE goodness 2012-09-20 01:50:40 +01:00
SignpostMarv 49e2872f9e Documentation of agent-related events 2012-09-20 01:50:40 +01:00
SignpostMarv 61f4523e01 Documentation of object-related events 2012-09-20 01:48:50 +01:00
SignpostMarv a74167bb06 Documentation of OnPluginConsole 2012-09-20 01:47:03 +01:00
Justin Clark-Casey (justincc) f2a9d26118 Make ResendAppearanceUpdates = true by default in [Appearance] in OpenSimDefaults.ini.
This resends appearance uuids to avatars in the scene once a minute.
I have seen this help in the past resolve grey appearance problems where viewers have for unknown reasons sometimes ignored the packet.
The overhead is very small since only the UUIDs are sent - the viewer then requests the texture only if it does not have it cached.
This setting will not help with cloudy avatars which are usually due to the viewer not uploading baked texture data or uploading something that isn't valid JPEG2000
2012-09-20 01:40:05 +01:00
BlueWall 9d973ec3b3 Cleanup from prev. commit
Make correct defaults to Phys/nonPhys prims to fix errors in prev. commit
2012-09-18 10:12:32 -04:00
BlueWall d29fc53052 Fix some inconsistencies in configurartion: NonPhys prims
Fix inconsistencies between configuration parameter names and their description names. Changing the configuration parameters for non physical prim size min-max from Nonphys* to NonPhys*.

  Please update your OpenSim.ini and Regions.ini to reflect these changes.
2012-09-18 09:53:45 -04:00
SignpostMarv 0e5f5538bc Documentation of IScriptModuleComms.RegisterConstant and IScriptModuleComms.LookupModConstant
Signed-off-by: Melanie <melanie@t-data.com>
2012-09-17 14:15:52 +01:00
SignpostMarv f9721573d9 Implementing ability to register script constants and invocations on a region module automatically 2012-09-17 14:15:47 +01:00
SignpostMarv c7948a669a preventing a null reference exception from being thrown
Signed-off-by: Melanie <melanie@t-data.com>
2012-09-17 13:29:15 +01:00
Oren Hurvitz 5dd2569bf7 Added unit tests for multi-region OARs 2012-09-14 20:32:25 +01:00
Oren Hurvitz ce468215d5 Support multi-region OAR files
Merged ArchiveWriteRequestPreparation.cs and ArchiveWriteRequestExecution.cs. This simplifies the code, and it's faster to write each scene to the archive as it's found rather than all at once at the end.
2012-09-14 20:25:03 +01:00
SignpostMarv 46d8405229 Documentation of parcel-related events
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-09-13 09:59:25 -04:00
Justin Clark-Casey (justincc) ebb394bbda Fix indentation and issues where tabs were used instead of spaces in commit 783ee949 2012-09-12 01:45:34 +01:00
Justin Clark-Casey (justincc) 4ead48f09f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-09-12 01:24:17 +01:00
SignpostMarv 41f3f2400e Documentation of economy-related EventManager events 2012-09-12 01:23:47 +01:00
Mic Bowman f06394f195 Allow an incoming identifier to be specified for a JsonStore. 2012-09-11 16:42:07 -07:00
SignpostMarv ad1b9bbba6 documentation (OnSceneObjectPartCopy) 2012-09-11 20:12:45 +01:00
SignpostMarv 97b8739c1d documentation (OnRemovePresence) 2012-09-11 20:12:45 +01:00
SignpostMarv 0760121eb9 documentation (OnNewPresence) 2012-09-11 20:12:44 +01:00
SignpostMarv 0a22e78f59 documentation (OnClientConnect) 2012-09-11 20:12:44 +01:00
SignpostMarv 5e51f16ceb documentation (OnBackup) 2012-09-11 20:12:44 +01:00
SignpostMarv fd8a7e64b9 documentation (OnTerrainTick) 2012-09-11 20:12:44 +01:00
SignpostMarv ed5f574356 documentation (OnTerrainTainted) 2012-09-11 20:12:44 +01:00
SignpostMarv 44349f742e documentation (OnClientMovement) 2012-09-11 20:12:43 +01:00
SignpostMarv e3993eefa5 Documenting some of the events on OpenSim.Region.Framework.Scenes.EventManager (OnFrame) 2012-09-11 20:12:43 +01:00
SignpostMarv 783ee949ea implementing per-region configuration of limits on the number of prims one can have in a linkset
Applied with changes - patch was based on a repo different from core

Signed-off-by: Melanie <melanie@t-data.com>
2012-09-09 12:59:25 +01:00
SignpostMarv e041f09750 refactoring to allow Scene.GetLandData to accept Vector3 as an argument. Note that the prior work on LSL_Vector implicit operators means one does not need to explicitly cast a LSL_Vector to Vector3 2012-09-08 00:44:27 +01:00
Justin Clark-Casey (justincc) 8f02fd926e If reusing dynamic textures, do not reuse small data length textures that fall below current viewer discard level 2 thresholds.
Viewer LL 3.3.4 and before sometimes fail to properly redisplay dynamic textures that have a small data length compared to pixel size when pulled from cache.
This appears to happen when the data length is smaller than the estimate discard level 2 size the viewer uses when making this GetTexture request.
This commit works around this by always regenerating dynamic textures that fall below this threshold rather than reusing them if ReuseDynamicTextures = true
This can be controlled by the [Textures] ReuseDynamicLowDataTextures config setting which defaults to false.
2012-09-06 22:12:05 +01:00
SignpostMarv 4215877b48 adding utility method for getting SceneObjectGroup from scene
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-09-06 06:32:56 -04:00
SignpostMarv d2e79e26d7 adding utility method for getting SceneObjectPart from scene
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-09-06 06:32:46 -04:00
SignpostMarv 8d431c6359 formatting 2012-09-04 00:03:43 +01:00
SignpostMarv 663bfbb372 although the attachmentPoint argument is a uint, zero is not a valid attachment point 2012-09-04 00:03:43 +01:00
SignpostMarv 794c5f5a6d adding support for static method script invocations 2012-08-31 14:32:33 +01:00
SignpostMarv 973f2e8be5 adding documentation to script invokation methods 2012-08-31 14:32:31 +01:00
Mic Bowman 3d736d575f This partially implements the LSL function to set the response
type for an HTTP request. Since the "official" LSL function limits
the use of the response type, it is implemented as osSetContentType
with a string for the content mime type and a threat level of high.
With this function you should be able to implement rather functional
media-on-a-prim application with much less difficulty.
2012-08-29 14:56:51 -07:00
Justin Clark-Casey (justincc) 7ea832d47c Fix regression introduced in a0d178b2 (Sat Aug 25 02:00:17 2012) where folders with asset type of 'Folder' and 'Unknown' were accidentally treated as system folders.
This prevented more than one additional ordinary folder from being created in the base "My Inventory" user folder.
Added regression test for this case.
Switched tests to use XInventoryService with mostly implemented TestXInventoryDataPlugin rather than InventoryService
Disabled TestLoadIarV0_1SameNameCreator() since this has not been working for a very long time (ever since XInventoryService) started being used
since it doesnt' preserve creator data in the same way as InventoryService did and so effectively lost the OSPAs.
However, nobody noticed/complained about this issue and OSPAs have been superseded by HG like creator information via the --home save oar/iar switch.
2012-08-29 02:01:43 +01:00
Justin Clark-Casey (justincc) c1cece4b82 Add experimental DynamicTextureModule.ReuseTextures flag, currently only configurable on compile.
Disabled (status quo) by default.
This flag makes the dynamic texture module reuse cache previously dynamically generated textures given the same input commands and extra params for 24 hours.
This occurs as long as those commands would always generate the same texture (e.g. they do not contain commands to fetch data from the web).
This makes texture changing faster as a viewer-cached texture uuid is sent and may reduce simulator load in regions with generation of lots of dynamic textures.
A downside is that this stops expiry of old temporary dynamic textures from the cache,
Another downside is that a jpeg2000 generation that partially failed is currently not regenerated until restart or after 24 hours.
2012-08-28 23:06:53 +01:00
Justin Clark-Casey (justincc) aa44df9c04 Add IDynamicTextureManager.ConvertData() to match AsyncConvertData(). Remove mismatching ConvertStream() where there is no AsyncConvertStream and neither IDynamicTextureManager implementer implements this method. 2012-08-28 20:35:17 +01:00
Justin Clark-Casey (justincc) e04047152f minor: Fix bad log message for failure to create an inventory folder 2012-08-25 00:49:38 +01:00
Justin Clark-Casey (justincc) f3a5e3a02b Log initial script startup info notice when xengine actually starts to do this for debugging purposes, rather than before it actually starts to do this. 2012-08-25 00:42:32 +01:00
Justin Clark-Casey (justincc) ba58331b29 Extend "Restarting scripts in attachments" debug log message to show actual name of user and the region they are in 2012-08-24 22:56:05 +01:00
Justin Clark-Casey (justincc) 476996bee8 If a connecting scene presence is replacing an existing scene presence then bypass close checks. 2012-08-24 22:38:07 +01:00
Justin Clark-Casey (justincc) cd325fdf02 Pass the "attachToBackup" bool given to SceneGraph.AddNewSceneObject() down into the 3-parameter AddNewSceneObject() method instead of always hardcoding true.
This doesn't affect any core OpenSimulator code since all callers were passing true anyway
But it allows region modules to create objects that are never persisted.
2012-08-24 21:36:20 +01:00
Melanie c557684666 Fix bad child prim permissions that can make objects change perms after rezzing
Port from Avination
2012-08-24 00:15:30 +01:00
SignpostMarv 481c00f50a refactoring out SetFaceColor 2012-08-20 23:10:25 +01:00
SignpostMarv ede3b9ab07 making use of implicit operators and Util.Clip handling of Vector3 2012-08-20 23:10:25 +01:00
SignpostMarv b863a15a82 single operation for PRIM_COLOR 2012-08-20 23:10:25 +01:00
SignpostMarv aee4353e9c fix typo 2012-08-20 23:10:25 +01:00
Justin Clark-Casey (justincc) bcbd450fe4 Add --force flag to "kick user" console command to allow bypassing of recent race condition checks.
This is to allow a second attempt to remove an avatar even if "show connections" shows them as already inactive (i.e. close has already been attempted once).
You should only attempt --force if a normal kick fails.
This is partly for diagnostics as we have seen some connections occasionally remain on lbsa plaza even if they are registered as inactive.
This is not a permanent solution and may not work anyway - the ultimate solution is to stop this problem from happening in the first place.
2012-08-20 20:24:54 +01:00
SignpostMarv 7068fddd2f fixing bug that get/set the wrong property for prim types other than sphere & box 2012-08-17 23:23:03 +01:00
SignpostMarv 466d684fbe implemented 2012-08-17 23:23:03 +01:00
Robert Adams 7243d4f842 BulletSim: Properly regenerate hulls when objects made physical.
This fixes the problem of non-base shapes (cubes and spheres)
    falling through the terrain.
2012-08-17 14:45:18 -07:00
Robert Adams 5c192b9bab Modify order of code so SOP doesn't set the physics actor flying
property multiple times every time Update is called.
This eliminates zillions of settings which is better for BulletSim.
The should be no functionality change.
2012-08-17 13:34:20 -07:00
Robert Adams 57a9879669 Correct an exception report in SceneObjectPart so it outputs the stack. 2012-08-15 16:39:00 -07:00
SignpostMarv ef4122213c enables configurable minimum sizes for physical & non-physical prims 2012-08-15 23:35:23 +01:00
Melanie c27ff70d5c Add support for the extra params to scene and the event manager 2012-08-15 18:58:39 +01:00
Melanie dc82ad0f7a Add a skeleton for a name value storage associated with regions 2012-08-15 02:06:22 +01:00
Melanie faa710aee1 Allow the use of the region debug console found in recent viewers. This console
will be available to estate owners and managers. If the user using the console
had god privs, they can use "set console on" and "set console off" to switch on
the actual region console. This allows console access from within the viewer.
The region debug console can coexist with any other main console.
2012-08-14 22:22:20 +01:00
Melanie fe4c3a37c0 Lay some groundwork for temp attachments. Decouple attachments from inventory. 2012-08-14 00:12:15 +01:00
Justin Clark-Casey (justincc) 5914270ff1 Restore SOG constructor chaining removed in recent 513b77b. This is not a functional change. 2012-08-03 22:15:06 +01:00
Justin Clark-Casey (justincc) 789e88d8bd Move previously unadvertised SendPeriodicAppearanceUpdates setting from [Startup] to [Appearance] config section.
Add description and default of false (as before) to OpenSimDefaults.ini
If set to true, this config switch will resend avatar appearance information (a small amount of UUID data, not the baked textures themselves) to other avatars in the sim every 60 seconds.
For me, this has helped with situations where avatars appear persistently grey - the LL viewer sometimes did not appear to request assets the first time the appearance data was sent.
However, this switch will not help with other appearance failure situations (e.g. failure to bake assets).
This setting is experimental but will not have any significant impact on the simulator if turned to true.
2012-08-03 21:36:00 +01:00
Justin Clark-Casey (justincc) 513b77b78d refactor: rename SOG.RezzingObjectID to SOG.FromPartID to match FromFolderID, FromItemID and to reflect that it's a SOP ID rather than a SOG ID. 2012-08-03 02:26:54 +01:00
Justin Clark-Casey (justincc) 08ec18f8a3 Don't bothre setting RezzingObjectID to UUID.Zero in SOG constructor - this is already its default value as it's a struct. 2012-08-03 02:08:04 +01:00
SignpostMarv cd9fd77e2c ImprovedTerseObjectUpdate packet does not support shape updates, thus scheduling terse updates will not (and does not) update shape information in the viewer 2012-08-03 01:55:46 +01:00
Melanie 68406ab8f9 Initialize the Rezzing object to UUID.Zero 2012-08-02 22:34:46 +01:00
SignpostMarv cd2c5843a8 reduced-complexity implementation of function to get rezzing object key
Signed-off-by: Melanie <melanie@t-data.com>
2012-08-02 22:12:36 +01:00
Melanie cf16ca9bda Create the ability for physics modules to request assets on demand by
themselves. For that, the physics module simply calls RequestAssetMethod, which
in turn points to Scene.PhysicsRequestAsset. This gives physics access to
the asset system without introducing unwanted knowledge of the scene class.
2012-08-01 22:37:38 +01:00
Mic Bowman a76a289d11 Adds support to ScriptModuleComms for region modules to export
constants to the script engine.
2012-07-31 10:45:37 -07:00
Justin Clark-Casey (justincc) 7e89b99e6a Avoid a race condition between the scene shutdown thread and the update thread since commit c150320 (Thu Jul 26 15:27:18 2012)
c150320 started explicitly disposing of the physics scene and nulling it out on region shutdown.
However, the update loop may not have yet checked Scene.ShuttingDown, particularly if avatars were not in the scene, causing failure when it tried to lookup time dilation.
This commit moves the setting of m_shuttingDown above the existing 500ms pause to notify avatars that they are being kicked.
This should not affect the few other places that use this flag.
2012-07-27 23:58:53 +01:00
Justin Clark-Casey (justincc) 0d9afad3fe Remove duplicated IScenePresence.PresenceType. This is already in ISceneAgent.PresenceType from which IScenePresence inherits.
No other code changes required.
2012-07-27 22:15:25 +01:00
Robert Adams d4a667a918 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-07-26 16:04:11 -07:00
Justin Clark-Casey (justincc) 66824dd18c When copying items, copy the item description field instead of the asset description field.
If we copy the asset description then we will only ever replicate the very first description, if there was one, not any subsequent changes.
Thanks to Oren Hurvitz of Kitely for this patch from http://opensimulator.org/mantis/view.php?id=6107
I have adapted it slightly to change the order of arguments (name before description rather than vice-versa) and slightly improve some method doc.
2012-07-26 23:44:29 +01:00
Robert Adams c1503205c0 Add a Dispose() of the physics engine when a scene is being shutdown. 2012-07-26 15:27:18 -07:00
Justin Clark-Casey (justincc) 5aec0ff207 Move Watchdog and MemoryWatchdog classes into OpenSim.Framework.Monitoring with other monitoring code from OpenSim.Framework 2012-07-25 23:27:00 +01:00
Justin Clark-Casey (justincc) 35efa88c26 Rename OpenSim.Framework.Statistics to OpenSim.Framework.Monitoring.
This better reflects the long-term purpose of that project and matches Monitoring modules.
2012-07-25 23:11:50 +01:00
Justin Clark-Casey (justincc) 31304c222d Make SceneManager.OnRegionsReadyStatusChange event available.
This is fired when all regions are ready or when at least one region becomes not ready.
Recently added EventManager.OnRegionReady becomes OnRegionReadyStatusChange to match OnLoginsEnabledStatusChange
2012-07-25 21:00:59 +01:00
Melanie e126915bc1 Change attachment handling to remove object from the scene first as per
justincc's original work. Sample scripts before doing so. Also refactor some
crucial common code and eliminate parameters that were only ever used with
the same constant value.
2012-07-23 21:39:26 +01:00
Melanie fc77bca936 Committing Avination's memleak fix-a-thon, installment #3
When linking, detach the no longer used SOG's from backup so they can be
collected. Since their Children collection is never emptied, they prevent
their former SOPs from being collected as well.
2012-07-23 19:53:26 +01:00
Justin Clark-Casey (justincc) e94831ddab Stop explicitly closing and nulling out Animator in order to prevent NREs in various places due to race conditions.
Even where checks are being made they aren't enough since they all assume that the Animator they just checked is still there in the next line, which is not necessarily the case without locking.
The memory used is small and these should be GC'd anyway when the SP is released.  If this is not happening then the wider problem of old SPs being retained needs to be resolved.
2012-07-19 22:59:28 +01:00
Justin Clark-Casey (justincc) ba80f137b5 Prevent race conditions between two threads that call LLClientView.Close() simultaneously (e.g. ack timeout and an attempt to reconnect) 2012-07-19 22:32:27 +01:00
Justin Clark-Casey (justincc) e9a121e1b2 Add TestCreateDuplicateRootScenePresence() regression test. 2012-07-19 21:54:50 +01:00
Justin Clark-Casey (justincc) c0ab406e2e Add basic TestCreateRootScenePresence() regression test 2012-07-19 21:41:13 +01:00
Justin Clark-Casey (justincc) 6dda7c65ae Add EventManager.OnRegionLoginsStatusChange fired whenever logins are enabled or disabled at any point, not just during initial startup.
This replaces EventManager.OnLoginsEnabled which only fired when logins were first enabled
and was affected by a bug where it would never fire if the region started with logins disabled.
2012-07-19 00:09:22 +01:00
Justin Clark-Casey (justincc) 64db0bcbd2 Add back notification to neighbouring regions when RegionReadyModule is not active accidentally just removed in 528004d 2012-07-18 23:40:00 +01:00
Justin Clark-Casey (justincc) 528004d349 Perform other region ready actions even if simulator is configured to leave logins disabled on startup. 2012-07-18 23:35:05 +01:00
Justin Clark-Casey (justincc) 58b72933c8 Fix bug where region ready was being triggered twice in quick succession if a region contained no scripts. 2012-07-18 22:09:20 +01:00
Justin Clark-Casey (justincc) 4973fddc51 Establish EventManager.OnRegionReady event. This will only be triggerred once when the region is ready.
Switch MapImageServiceModule to use this.
2012-07-18 21:52:07 +01:00
Justin Clark-Casey (justincc) 6460e587c4 Pass entire scene object in OnLoginsEnabled event rather than just the region name.
This saves listeners from having to re-retrieve the scene from their own lists, which won't work anyway if multiple regions with the same name have been allowed
2012-07-18 21:29:12 +01:00
Dan Lake dd85d7d981 Merge branch 'master' of git://opensimulator.org/git/opensim 2012-07-18 13:07:07 -07:00
Dan Lake 0dd14ca0a3 Missing parameter in log error message was throwing exception 2012-07-18 13:05:48 -07:00
Justin Clark-Casey (justincc) eb590becf0 Close() the ScenePresence after we've removed it from the scene graph, to cut down race conditions when another thread manages the grab the presence after some SP structures have been reset. 2012-07-18 00:14:02 +01:00
Melanie 1c3b0da74a Revert "Fix script "Running" behavior"
A better solution using the already present flags must be found.

This reverts commit 6d3ee8bb39.
2012-07-16 23:31:55 +01:00
Justin Clark-Casey (justincc) 9ccb578721 Don't cache regions data on the other unused LocalGridServiceConnector that the module code still sets up even if we're using one directly instantiated from the RemoteGridServiceConnector.
Also improves log messages to indicate which regions are sending/receiving various neighbour protocol messages.
2012-07-13 00:44:00 +01:00
Justin Clark-Casey (justincc) 75ab9b4b88 Change very recent AllowedViewerList and BannedViewerList config setting names in OpenSim.ini.example to AllowedClients and BannedClients to match long-existing settings in [LoginService]
Also changes separator from comma to bar to match existing [LoginService] config features.
Divergence of config names for identical facilities in different places makes for an unnecessarily confusing user experience.
2012-07-12 23:18:30 +01:00
Robert Adams 743437262e Many explanitory comments added to the link and delink code in
SOG and SOP. Should have no functionality changes.
2012-07-11 16:12:38 -07:00
Justin Clark-Casey (justincc) fc24563206 Add regression TestDetachScriptedAttachmentToInventory()
This currently only does a relatively crude check for a ScriptState node in the serialized xml
2012-07-11 21:43:35 +01:00
Justin Clark-Casey (justincc) 337ea019bd If a part has a sit target and an avatar is already sitting, allow another avatar to sit in the position given if no sit target was set.
Previous behave was that the second avatar could not sit.
This matches behaviour observed on the LL grid.
2012-07-10 23:55:22 +01:00
Justin Clark-Casey (justincc) cdea572d2e refactor: move management of SOP.SitTargetAvatar into SOP.AddSittingAvatar() and SOP.RemoveSittingAvatar() 2012-07-10 23:50:04 +01:00
Justin Clark-Casey (justincc) 11e0ad6dc8 Revert "refactor: Add SOP.IsSitTargetOccupied to improve readability"
This reverts commit c8f0d476d2.
On reconsideration, I think this is less readable since immediately following code still sets SitTargetAvatar directly
2012-07-10 23:39:05 +01:00
Justin Clark-Casey (justincc) c8f0d476d2 refactor: Add SOP.IsSitTargetOccupied to improve readability 2012-07-10 23:34:40 +01:00
Justin Clark-Casey (justincc) 69a6f6e3cd refactor: use sit orientation argument passed in to SP.SendSitResponse() rather than creating a new copy
There are no issues with side-effects since this is a struct.
2012-07-10 23:26:40 +01:00
Justin Clark-Casey (justincc) e8347b7095 Move common code to detect whether a part has a valid sit target into a SOP property rather than being repeated in SP.
This also makes the detection in SP.FindNextAvailableSitTarget() and SendSitResponse() identical.
Previously they varied slightly (SendSitResponse didn't check for an older type of invalid quaternion) but the practical effect is most probably zero.
2012-07-10 23:21:39 +01:00
Justin Clark-Casey (justincc) 506437b684 Remove log line accidentally left in SP.SendSitResponse() 2012-07-10 23:06:34 +01:00
Justin Clark-Casey (justincc) 58869e5aa0 Fix recent SOP.GetSittingAvatars() to return null if there are no sitting avatars rather than throwing an exception.
Extends sitting avatar regression tests to test new sitters information
2012-07-10 23:03:52 +01:00
Justin Clark-Casey (justincc) f3134b5cf6 When an attachment is detached to inv or derezzed, stop the scripts, update the known item with script state still in the script engine and then remove the scripts.
This is to fix a regression starting from 5301648 where attachments had to start being deleted before persistence in order to avoid race conditions with hud update threads.
2012-07-10 22:41:11 +01:00
Justin Clark-Casey (justincc) d6f563794e Don't allow a prim to be sat upon if its part of an attachment 2012-07-09 21:43:44 +01:00
Justin Clark-Casey (justincc) 2eaa6d5ace Do not allow a script to attach a prim if its being sat upon.
This prevents a stack overflow where a get position on the avatar will refer to the attachment which will in turn refer back to the avatar.
This required recording of all sitting avatars on a prim which is done separately from recording the sit target avatar.
Recording HashSet is null if there are no sitting avatars in order to save memory.
2012-07-09 21:24:32 +01:00
Justin Clark-Casey (justincc) 7ff4eec79c Remove redundant SetScene() function in Scene.AddSceneObject()
This is always done later on in SceneGraph.AddSceneObject() if the call hasn't failed due to sanity checks.
There's no other purpose for this method to exist and it's dangerous/pointless to call in other conditions.
2012-07-07 00:02:45 +01:00
Justin Clark-Casey (justincc) f1f390cfdf Remove now duplicate interregion object check that should have been removed a few commits ago in 43a2da9 2012-07-06 23:22:40 +01:00
Justin Clark-Casey (justincc) 056c9a59b2 Add assert to attachment regression tests to check that number of objects in the scene graph 2012-07-06 23:07:50 +01:00
Talun 1b1f841c6a Mantis 6063 osNpcTouch.
Allow NPCS to touch obects.
2012-07-06 22:37:19 +01:00
Justin Clark-Casey (justincc) 43a2da9edb Pull prim crossing/teleport checks up into Scene.IncomingCreateObject() from Scene.AddObject()
Only IncomingCreateObject() needs these checks.  General object adding does not need to perform crossing perm checks
2012-07-06 22:33:16 +01:00
Justin Clark-Casey (justincc) 951b45b80f Add OSSL function osForceAttachToAvatarFromInventory()
This works like osForceAttachToAvatar() but allows an object to be directly specified from the script object's inventory rather than forcing it to be rezzed in the scene first.
Still only attaches objects to the owner of the script.
This allows one to bypass the complicated co-ordination of first rezzing objects in the scene before attaching them.
Threat level high.
2012-07-05 00:05:06 +01:00
Justin Clark-Casey (justincc) f7b4802577 Correct spelling mistake m_BanedViewers to m_BannedViewers 2012-07-03 23:26:02 +01:00
Justin Clark-Casey (justincc) 8183c2926d minor: Add some method doc to HasGroupChanged and Schedule GroupForFull/PartUpdate() to indicate when region modules need to invoke them 2012-07-03 23:19:11 +01:00
Justin Clark-Casey (justincc) 3c9b9a848f Fix issue in database tests where sogs being stored are not in a scene.
This puts an extra m_part.ParentGroup.Scene == null check at the top of SceneObjectPartInventory.QueryScriptStates()
2012-07-03 22:58:58 +01:00
Michelle Argus 3399596e0e Adds a list of viewers that are allowed or banned from the region.
Signed-off-by: Melanie <melanie@t-data.com>
2012-07-02 18:45:11 +01:00
Melanie d32cf21576 Add preservation of running state of scripts when drag-copying. 2012-07-01 18:30:59 +01:00
Justin Clark-Casey (justincc) a4551b027b Removing unused handling of incoming create object by userID and itemID only.
It appears this was never actually used since attachments were rezzed in other code.
This was never available on remote simulator comms, only local.
2012-06-30 01:14:49 +01:00
Justin Clark-Casey (justincc) 56c776066c Remove code listed for removal in 0.7.3 that handled script restart for incoming attachments from pre-fatpack regions (versions of OpenSimulator more than a year old) 2012-06-30 01:06:37 +01:00
Justin Clark-Casey (justincc) f202c36106 Add IScene.Name for code clarity to replace the RegionInfo.RegionName used in many, many log messages. 2012-06-29 00:03:22 +01:00
Justin Clark-Casey (justincc) bfa6896678 Change AttachmentsModule.DetachSingleAttachmentToInv() to accept a SOG directly instead of an item ID to then shuffle through attachments, saving CPU busywork.
Almost all callers already had the sog to hand.
Still checking that it's really an attachment, but now by inspecting SOG.AttachedAvatar
2012-06-28 23:31:23 +01:00
Justin Clark-Casey (justincc) d043213317 refactor: Move ScenePresence <-> AgentData attachments copying code into AttachmentsModule. 2012-06-27 00:41:46 +01:00
Justin Clark-Casey (justincc) e5b739aaeb When attachments are being saved and deleted for a closing root agent, delete first to avoid a hud race condition with update threads.
If delete doesn't occur first then the update thread can outrace the IsAttachment = false necessary to save attachments and send hud artifacts to other viewers.
2012-06-25 22:48:13 +01:00
Justin Clark-Casey (justincc) 5301648cff In AttachmentsModule.DetachSingleAttachmentToInvInternal(), remove attachment before changing properties for correct inventory serialization.
Serialization of attachments requires IsAttachment = false so that correct positions are serialized instead of avatar position.
However, doing this when a hud is still attached allows race conditions with update threads, resulting in hud artifacts on other viewers.
This change sets SOG.IsDeleted before serialization changes take place (IsDeleted itself is not a serialized property).
LLClientView then screens out any deleted SOGs before sending updates to viewers.
2012-06-25 21:08:19 +01:00
BlueWall 6d3ee8bb39 Fix script "Running" behavior
Unchecking "Running" box in script editor now persists. This fixes http://opensimulator.org/mantis/view.php?id=6057
2012-06-23 04:15:14 -04:00
Justin Clark-Casey (justincc) fda39c11bf Fix bug where attachments would not retain position if just rotated and not moved.
This was because we were not setting AttachedPos in SOG.UpdateGroupPositionPR, unlike UpdateGroupPosition
2012-06-22 01:33:27 +01:00
Justin Clark-Casey (justincc) 68ea096f1b Use HasPrivateAttachmentPoint properties in SOG.DeleteGroupFromScene() instead of magic numbers 2012-06-20 23:25:07 +01:00
Justin Clark-Casey (justincc) 714db90832 refactor: use SOG.HasPrivateAttachmentPoint in SOP.SendTerseUpdateToClient() instead of attachmentpoint magic numbers. 2012-06-20 22:46:01 +01:00
Justin Clark-Casey (justincc) 0fa303b1cf Log how many scripts are candidates for starting and how many are actually started.
Adds DebugLevel infrastructure to XEngine though currently commented out and unused.
2012-06-20 00:10:19 +01:00
Justin Clark-Casey (justincc) 9737e6d52e If RegionReady is active, don't falsely say that logins are enabled in the main scene loop before RegionReady is signalled when initial script compilation finishes.
Also raises this logging level to Info from Debug since this information is of high importance.  This matches the behaviour of the RegionReady module
2012-06-20 00:07:03 +01:00
Justin Clark-Casey (justincc) e23d7ff9c0 minor: If logging because mesh/sculpt data isn't present for an object, log object UUID rather than local id, since UUID doesn't potentially vary between simulator starts. 2012-06-20 00:05:48 +01:00
Justin Clark-Casey (justincc) a4290048e5 Add SOG.HasPrivateAttachmentPoint to tell if a SOG has a private attachment point. HUDs attachment points are private.
Change SOP.SendFullUpdateToClient() and SoundModule.PlayAttachedSound() to use this rather than different magic number formulations.
This also corrects a bug in PlayAttachedSound() where the code assumed that all attachment points over 30 were HUDs.
It appears this is no longer true with Neck and Root (Avatar Center)
2012-06-14 01:20:55 +01:00
Justin Clark-Casey (justincc) 1b1f0a2d77 OnConnectionClosed listeners, retrieve data from IClientAPI.SceneAgent rather than scanning all scene for the presence with the right id
Stop checking IsLoggingOut on these listeners, if called with a root agent then we always want to perform these actions.
This covers cases where the client is closed due to manual kick, simulator shutdown, etc.
2012-06-12 02:43:33 +01:00
Justin Clark-Casey (justincc) 8c7149063b In PresenceDetector.OnConnectionClose(), use the IsChildAgent check already available on IClientAPI.SceneAgent rather than retrieving it again by scanning all scenes. 2012-06-12 01:25:09 +01:00
Justin Clark-Casey (justincc) bab7dab4c5 Comment out the scene presence sitting debug log messages for now 2012-06-11 23:37:16 +01:00
Justin Clark-Casey (justincc) 30f4a33f01 Don't make duplicate call to ScenePresence.Close() separately in ETM.DoTeleport() if an agent needs closing.
This is always done as part of Scene.RemoveClient()
Also refactors try/catching in Scene.RemoveClient() to log NREs instead of silently discarding, since these are useful symptoms of problems.
2012-06-08 01:26:43 +01:00
Justin Clark-Casey (justincc) 5c162ccd57 Go back to calling IncomingCloseAgent() in the "kick user" command for consistency instead of IClientAPI.Close() directly.
This no longer double counts child agent removals
2012-06-08 00:59:39 +01:00
Justin Clark-Casey (justincc) d547bcf8d1 Remove duplicate update of user count in Scene.IncomingCloseAgent()
This is already done in Scene.RemoveClient() which IncomingCloseAgent() always ends up calling.
2012-06-08 00:40:38 +01:00
Justin Clark-Casey (justincc) b56673c920 Fix bug with "kick user" reducing agent counts by 2 instead of 1.
This is done by making the kick user command call IClientAPI.Close() rather than routing through Scene.IncomingCloseAgent(), which also called IClientAPI.Close()
DisableSimulator for child agents is moved from IncomingCloseAgent() to RemoveClient(), this is not a functional change since IncomingCloseAgent() always ends up calling RemoveClient()
2012-06-08 00:18:25 +01:00
Justin Clark-Casey (justincc) 0c5fefacb4 Record the fact that child agents can have asset transactions.
Also change code to grab the agent asset transaction module once.
2012-06-07 23:51:04 +01:00
Justin Clark-Casey (justincc) de87e4871b Don't send kill object messages to clients when a child agent is closed. 2012-06-07 23:35:21 +01:00
Justin Clark-Casey (justincc) 96d1ba90d7 Scale down per frame MS stats to match scaled simulator FPS stat.
This makes frame time stats properly tally with fps, which saves confusion and makes it easier to interpret numbers.
In some ways this is not so artifical - physics FPS runs at the higher rate.
2012-06-05 00:27:51 +01:00
Justin Clark-Casey (justincc) 655625ab87 Start sending spare frame time MS viewer stat. Make frame time correctly display total frame time, not just non-spare time.
This makes it easier to see when components of frame time exceed normal permitted frame time.
Currently reflect scene frame times.
2012-06-05 00:17:55 +01:00
Justin Clark-Casey (justincc) c3d9acc9a9 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-06-05 00:15:29 +01:00
Justin Clark-Casey (justincc) a7f4804f53 Properly show per frame millisecond statistics per frame, not as amount of time taken per second.
This is to make these statistics actually match their names (and also be more accurate as number of frames can vary under heavy load)
Currently using scene frames (11.23 every second) instead of physics frames (56.18 per second)
2012-06-04 23:07:53 +01:00
Robert Adams f94ef37b46 Correct the delegate specification in EventManager.TriggerTerrainTainted. Looks like the wrong one was cut and pasted. 2012-06-04 10:26:39 -07:00
Justin Clark-Casey (justincc) 72219eae7d Instead of updating sim stats root agent, child, objects and scripts accounts every single scene frame, update in the once every 3 seconds SimStatsReporter run 2012-06-01 04:47:11 +01:00
Justin Clark-Casey (justincc) 0b02a4d42e Add an optional mechanism for physics modules to collect and return arbitrary stats.
If active, the physics module can return arbitrary stat counters that can be seen via the MonitoringModule
(http://opensimulator.org/wiki/Monitoring_Module)
This is only active in OdeScene if collect_stats = true in [ODEPhysicsSettings].
This patch allows OdeScene to collect elapsed time information for calls to the ODE native collision methods to assess what proportion of time this takes compared to total physics processing.
This data is returned as ODENativeCollisionFrameMS in the monitoring module, updated every 3 seconds.
The performance effect of collecting stats is probably extremely minor, dwarfed by the rest of the physics code.
2012-05-31 01:52:26 +01:00
Melanie b660c4991b Fix collision filtering. The filter should be checked on the receiving part! 2012-05-29 18:18:47 +01:00
Justin Clark-Casey (justincc) 43a6f28620 If restating a region, clean up the physics scene after the main scene has been closed not before.
If this is done before then on ODE agent update calls still incoming can fail as they try to use a raycastmanager that has been disposed.
Bullet plugin does nothing on Dispose()
However, I wouldn't be at all surprised if individual region restarting was buggy in lots of other areas.
2012-05-26 01:55:35 +01:00
Justin Clark-Casey (justincc) ff53add54d refactor: replace LSL_Api.InventoryKey(string) largely with SceneObjectPartInventory.GetInventoryItem(string)
Also gets llStopAnimation() to call KeyOrName rather than duplicating logic.
2012-05-26 00:36:01 +01:00
Justin Clark-Casey (justincc) 9f1fc7ea88 Remove a call stack debugging line accidentally left in from a few days ago at SceneObjectPartInventory.ApplyNextOwnerPermissions(). 2012-05-25 02:54:37 +01:00
Justin Clark-Casey (justincc) 40c78b0624 Stop it being possible for an agent to teleport back to its source region before the source region has finished cleaning up old agent data and structures.
If this is allowed, then the client usually gets forcibly logged out and data structures might be put into bad states.
To prevent this, the binary state machine of EMT.m_agentsInTransit is replaced with a 4 state machine (Preparing, Transferring, ReceivedAtDestination, CleaningUp).
This is necessary because the source region needs to know when the destination region has received the user but a teleport back cannot happen until the source region has cleaned up.
Tested on standalone, grid and with v1 and v3 clients.
2012-05-25 02:02:53 +01:00
Justin Clark-Casey (justincc) 459c7635af If an agent is still registered as 'in transit' by the source region, don't allow an immediate teleport back.
This is to help relieve a race condition when an agent teleports then immediately attempts to teleport back before the source region has properly cleaned up/demoted the old ScenePresence.
This is rare in viewers but much more possible via scripting or region module.
However, more needs to be done since virtually all clean up happens after the transit flag is cleared .
Possibly need to add a 'cleaning up' state to in transit.
This change required making the EntityTransferModule and HGEntityTransferModule per-region rather than shared, in order to allow separate transit lists.
Changes were also required in LocalSimulationConnector.
Tested in standalone, grid and with local and remote region crossings with attachments.
2012-05-24 00:31:14 +01:00
PixelTomsen bc543c1797 Environment Module - allows Environment settings for Viewer3 warning: includes database region store migrations for mssql, mysql, sqlite
enable/disable this module:
Cap_EnvironmentSettings = "localhost" (for enable)
Cap_EnvironmentSettings = "" (for disable) at ClientStack.LindenCaps section (OpenSimDefaults.ini file)
 or owerwrite in OpenSim.ini

mantis: http://opensimulator.org/mantis/view.php?id=5860

Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-05-23 17:04:19 -04:00
BlueWall 682d4075e3 Fix llGetSimulatorHostname to return configured hostname 2012-05-23 15:08:39 -04:00
Justin Clark-Casey (justincc) ee98b9c394 Add "show scene" command which lists stats for the currently selected console scene(s)
This includes prim count, script count, avatar count, etc.
Information is currently the same as "show stats", though show stats can only show one scene at a time because it listens for the latest outgoing stats packet (a bad approach that needs to change).
Might be better to tie this module into the other stats module to display arbitrary stats rather than fetching directly from scene.SimStatsReporter.
Console command is "show scene" because "show region" already exists for the grid service, which is unfortunate.
Might need to make a distinction between "scene" relating to a live scene and "region" relating to more static region data (url, coords, etc.)
2012-05-23 04:10:45 +01:00
Justin Clark-Casey (justincc) ff429a259b Fix bug where an avatar that had an object they owned attached through llAttachToAvatar() or osForceAttachToAvatar() would wrongly have next permissions come into play when they detached that object and rezzed it in scene.
This is because the attachments module code was setting the 'object slam' bit by using PermissionMask.All
Solution here is to route the attachment item creation call through the existing inventory code in BasicInventoryAccessModule rather than copy/pasted code in AttachmentsModule itself.
2012-05-23 01:58:10 +01:00
Justin Clark-Casey (justincc) 7e97f0e898 minor: extend commented out LinkInventoryItem log message for future use 2012-05-21 21:00:22 +01:00
Justin Clark-Casey (justincc) 5759313f7f Add size of region to OAR control file. Megaregions (sw root OARs when saved) will have a size larger than 256x256
Not yet read.  Do not rely on this information yet, it may change.
2012-05-19 04:56:47 +01:00
Justin Clark-Casey (justincc) 3f2a727b6d Remove recent IRegionCombinerModule.IsMegaregion(). In theory, there can be more than one megaregion in a simulator, separated by water.
Rename IsRootRegion() to IsRootForMegaregion()
2012-05-19 03:17:21 +01:00
Justin Clark-Casey (justincc) 33247c8d85 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-05-19 02:46:37 +01:00
Justin Clark-Casey (justincc) 2b60a5c5d6 Add is_megaregion flag into oar control file. Not currently read - for future use. Please do not rely on this remaining here.
An adaptation of part of Garmin's patch from http://opensimulator.org/mantis/view.php?id=5975, thanks!
Flag only written if the SW corner OAR is saved - this is the only one that captures object data presently (though not land or terrain data).
This adds an IRegionCombinerModule interface and the necessary methods on RegionCombinerModule
2012-05-19 02:45:17 +01:00
BlueWall 247a56593f Further refinement on properties 2012-05-18 20:02:32 -04:00
BlueWall 895dadbdbd Cleanup + change properties to set fields with private set : Thanks Justin for the tip. 2012-05-18 19:34:12 -04:00
BlueWall c05f87b50c Provide Telehub setting to allow use of landmarks
Setting to allow use of landmarks to override telehub routing. Default is off.
2012-05-18 17:51:38 -04:00
Justin Clark-Casey (justincc) 521ad080f1 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-05-17 23:56:36 +01:00
Justin Clark-Casey (justincc) 4d34763f8c Check agent limit against root agent count rather than both root and child agents
From sl docs such as http://community.secondlife.com/t5/English-Knowledge-Base/Managing-Private-Regions/ta-p/700115
agent should apply to avatars only.
This makes sense from a user perspective, and also from a code perspective since child agents with no physics or actions take up a fraction of root agent resources.
As such, the check is now only performed in Scene.QueryAccess() - cross and teleport check this before allowing an agent to translocate.
This also removes an off-by-one error that could occur in certain circumstances on teleport when a new child agent was double counted when a pre-teleport agent update was performed.
This does not affect an existing bug where limits or other QueryAccess() checks are not applied to avatars logging directly into a region.
2012-05-17 23:33:26 +01:00
BlueWall 2af11fea37 Merge branch 'master' of /home/opensim/lib/osgrid/opensim 2012-05-17 00:49:33 -04:00
BlueWall 295bb3227d Force the default Telehub router if no matches are found in the config. 2012-05-17 00:47:19 -04:00
Justin Clark-Casey (justincc) c45b5a3d1c minor: improve method doc for TestSameSimulatorSeparatedRegionsCreateAgentFails() 2012-05-17 03:27:05 +01:00
Justin Clark-Casey (justincc) d19fb6fb0c Add regression TestSameSimulatorSeparatedRegionsCreateAgentFails() 2012-05-17 03:12:31 +01:00
Justin Clark-Casey (justincc) f0c9cb8dc0 Comment out TestSameSimulatorSeparatedRegionsQueryAccessFails() regression test logging accidentally left in 2012-05-17 01:34:04 +01:00
Justin Clark-Casey (justincc) bdcf2d1348 Add regression TestSameSimulatorSeparatedRegionsQueryAccessFails() 2012-05-17 01:27:59 +01:00
Justin Clark-Casey (justincc) 23ae24b406 Route OAR SOG loading through the common SceneObjectSerializer.FromXml2Format() rather than the functionally identical but buggy Xml2ToSOG().
Remove buggy Xml2ToSOG().
2012-05-16 00:10:42 +01:00
Justin Clark-Casey (justincc) e644e34545 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-05-15 23:47:42 +01:00
Justin Clark-Casey (justincc) 1b5ce8c10e Fix issue where loading OARs could sometimes result in link numbers being reordered.
This was because the parts in scene objects were sometimes not serialized in link order.
This is perfectly fine since the parts still have the right link numbers, but an extra fix to adjust for this
had not been done in the SerialiserModule methods that OAR loading used.
Add regression test for same.
Addresses http://opensimulator.org/mantis/view.php?id=5948, http://opensimulator.org/mantis/view.php?id=5749
2012-05-15 23:43:59 +01:00
Melanie 65e1d7b2d7 Guard against null root part on SQLite. This really needs to be fixed so SQLite
loads roots before children like MySQL does.
2012-05-15 03:16:12 +01:00
Melanie 069bcd45e5 Try to fix sqlite breakage 2012-05-15 02:27:21 +01:00
Melanie e7819ce909 Port Avination's collision fixes to core. 2012-05-15 01:02:38 +01:00
Justin Clark-Casey (justincc) deeac69312 minor: comment out individual attachment transfer log messages for now 2012-05-14 18:48:40 +01:00
BlueWall 7c229c8b81 Add configurable SpawnPointRouting
Will use one of three selected methods to route avatar landing
	points when using Telehubs. The setting is in [Startup] using
        SpawnPointRouting = closest/random/sequence

	closest: The default setting. Routes avatar to the nearest SpawnPoint
	to the location.

	random: Picks random SpawnPoints to land the avatar.

	sequence: Follows a sequence to place the avatar on the next available
	SpawnPoint location

Conflicts:

	OpenSim/Region/Framework/Scenes/Scene.cs
2012-05-13 17:20:54 -04:00
Dan Lake 117c183fde Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-05-10 14:43:02 -07:00
Dan Lake f374b63ac8 Add even for terrain tainting and synchronize terrain module with physics scene before physics simulation step rather than after 2012-05-10 14:42:46 -07:00
Justin Clark-Casey (justincc) 6987aef38d Improve logging on the prim inventory script asset request path for future use.
This adds name and description of the request handler to http request logging when DebugLevel >= 1
2012-05-09 23:12:30 +01:00
Justin Clark-Casey (justincc) e5dbb652d5 Remove physics actor related race conditions in SetVehicleFlags() and SetPhysicsAxisRotation()
sop.PhysActor can currently become null at any time.
2012-05-09 00:11:10 +01:00
Dan Lake 3bc5620d74 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-05-08 16:06:02 -07:00
Dan Lake 20952c75c5 Trigger event when scene presences are updated 2012-05-08 16:05:34 -07:00
Talun c21c9e13ef Mantis 1456 same region teleport of a sitting avatar.
Region to region was fixed some time ago in EntityTransferModule.
This applies the same fix for same region teleports.
2012-05-09 00:02:13 +01:00
Justin Clark-Casey (justincc) abbd050a13 Perform SceneGraph.DuplicateObject() under existing m_updateLock already used for link and delinking, in order to avoid race conditions.
DuplicateObject() relies on source object having correct link numbers for the duration of the dupe.
Both link and delink can change link numbers such that they are not consistent for short periods of time.
2012-05-08 21:31:35 +01:00
dahlia 4186fa10f0 remove default values from prior commit since mono cant deal with them 2012-05-07 00:08:56 -07:00
dahlia b697d0e895 add OS_NPC_RUNNING option to osNpcMoveToTarget() to allow running speed for moving NPCs 2012-05-06 23:54:50 -07:00
Melanie b60f51dafc Stop llSetPos from sending one update per child prim 2012-05-06 19:21:54 +01:00
Justin Clark-Casey (justincc) 01b00ad0d5 Fire the scripting changed event with CHANGED_OWNER when an object that has changed owners is rezzed.
This needs to occur after the script is resumed rather than before, when the event is just dropped.
Addresses http://opensimulator.org/mantis/view.php?id=5890 and http://opensimulator.org/mantis/view.php?id=5952
2012-05-05 00:29:14 +01:00