Commit Graph

1689 Commits (67eaa574a3e8832a54290677eee83c29dbe653ae)

Author SHA1 Message Date
Diva Canto f79400e94c Broke down Caps.cs into a generic Caps object that simply registers/unregisters capabilities and a specific bunch of capability implementations in Linden space called BunchOfCaps.
Renamed a few methods that were misnomers.
Compiles but doesn't work.
2011-05-01 18:22:53 -07:00
Diva Canto f0bf64b6de Merge branch 'master' into caps 2011-05-01 09:11:16 -07:00
Diva Canto 00e94b0ba8 Check for RegionID instead of RegionHandle. Other minor tweaks 2011-04-30 16:53:11 -07:00
Diva Canto d8ee0cbe1c First stab at cleaning up Caps. Compiles. Untested. 2011-04-30 09:24:15 -07:00
Melanie 99b35d3ca6 When coming in from a legacy region without fatpacks, start scripts the
usual way
2011-04-30 16:20:20 +01:00
Diva Canto 4d5d6222f7 Delaying starting the scripts on TPs and crossings until the agent is root. 2011-04-29 17:09:48 -07:00
Huaiyu (Kitty) Liu 49139f53bb Replaced all calling to SendLinkObject to SyncLinkObject.
Added a bunch of debugging message to keep track of Shape updates synchronization.
2011-04-29 16:49:53 -07:00
Diva Canto 0d49611f6d Remove the scripts of the attachments in the departing region and recreate them if fail. 2011-04-29 15:52:06 -07:00
Diva Canto 73caa4e94a Minor correction to yesterday's changes. Make normal prim crossing (no attach) work well again. 2011-04-29 08:42:51 -07:00
Diva Canto 97790075fe Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-28 20:47:34 -07:00
Diva Canto 9892e115cc Fatpack message on agent transfers: 1 message only (UpdateAgent) containing the agent and all attachments. Preserves backwards compatibility -- older sims get passed attachments one by one. Meaning that I finally introduced versioning in the simulation service. 2011-04-28 20:19:54 -07:00
Dan Lake 3e74a72d2e Merge branch 'master' into dev
Conflicts:
	OpenSim/Client/MXP/ClientStack/MXPClientView.cs
	OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs
	OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-04-28 16:31:40 -07:00
Justin Clark-Casey (justincc) cd7517ccb9 Stop CHANGED_INVENTORY firing twice if a notecard is edited in prim.
Addresses http://opensimulator.org/mantis/view.php?id=5444
Fix is to stop the asset transaction calling UpdateInventoryItem() since the caller is doing it anyway, which is more correct.
This did not effect scripts.
2011-04-28 22:59:12 +01:00
Justin Clark-Casey (justincc) 50aa93137d Fix a bug where physical objects rezzed with an initial velocity by script do not receive this velocity.
This is a minimal fix for the 0.7.1 release, pending a non copy/paste solution.
This hopefully addresses http://opensimulator.org/mantis/view.php?id=5457
The bug was introduced in commit 3ba5eeb
2011-04-28 00:59:21 +01:00
dahlia 16f6f55f2d network traffic reduction - decrease update frequency for moving avatars when velocity is unchanged 2011-04-26 16:22:44 -07:00
Mic Bowman 1505fbb647 Add back the high prioritization for other avatars in the
BestAvatarResponsiveness prioritizer.
2011-04-26 08:54:05 -07:00
Mic Bowman 77ab7ce084 Fixed the transmission of throttles from root agent to child
agents. Child throttles are based on the number of child agents
known to the root and at least 1/4 of the throttle given to
the root.
2011-04-25 15:11:29 -07:00
Mic Bowman 1d7c83c39f Merge branch 'master' into queuetest 2011-04-25 08:41:21 -07:00
Huaiyu (Kitty) Liu cb6630aa35 For functions in PrimSyncInfo that access per property sync info, adding checking
of if m_propertiesSyncInfo[property] exists before accessing it.
2011-04-22 16:57:22 -07:00
Mic Bowman a3bd769cb3 Added a second immediate queue to be used for the BestAvatar policy
and currently used for all of an avatars attachments by the other
policies. Also changed the way items are pulled from the update queues
to bias close objects even more.
2011-04-22 14:55:23 -07:00
Huaiyu (Kitty) Liu 3076761d77 For group properties, only trigger SendPrimPropertyUpdates for the rootpart,
to avoid multiple updates (each through a different part in the SOG) to
update the same property.

Also, change m_log in PrimSyncInfo and PropertySyncInfo to a class static
variable, to reduce initiation cost.
2011-04-22 10:39:36 -07:00
Huaiyu (Kitty) Liu 68375822cd Fixed code so that when GroupPosition or Position is synced between PrimSyncInfoManager
and SOP, the other will be udpated properly as well.
Also, in SOP.aggregateScriptEvents, add AggregateScriptEvents as one property that has changed.
2011-04-21 17:44:07 -07:00
Melanie 398bb2149a Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-04-21 23:04:01 +01:00
Melanie 13d6e05d5a Implement agent limits 2011-04-21 23:03:38 +01:00
Justin Clark-Casey (justincc) e36cab99fd minor: small amount of method doc and some commented out odds and ends 2011-04-21 18:45:05 +01:00
Justin Clark-Casey (justincc) 63c1b7e475 Alter uuid gather so that it properly analyzes coalesced objects.
This should correct save all the assets required for the items within the coalesced objects in an IAR.  This should also correctly gather the items on hypergrid takes.
2011-04-21 18:12:29 +01:00
Mic Bowman 7759bda833 Added an "immediate" queue to the priority queue. This is
per Melanie's very good suggestion. The immediate queue is
serviced completely before all others, making it a very good
place to put avatar updates & attachments.

Moved the priority queue out of the LLUDP directory and
into the framework. It is now a fairly general utility.
2011-04-20 21:58:49 -07:00
Huaiyu (Kitty) Liu b182e3bf30 In SyncLinkObject and SyncDelinkObject, copy property values from linked/delinked SOP
values to those in PrimSyncInfo, before sending out sync messages.
2011-04-20 17:34:55 -07:00
Huaiyu (Kitty) Liu 1c1d3893fc DelinkFromGroup now calls AddNewSceneObjectByDelink, to avoid calling SyncNewObject later.
Also, replace all "SYMMETRIC SYNC" with "DSG SYNC" in comments.
2011-04-20 14:59:06 -07:00
Huaiyu (Kitty) Liu a5ebd04d9d Fixed code in SyncDeLinkObject and HandleSyncDelinkObject. Delinking a few linked objects seems working. 2011-04-19 15:55:04 -07:00
Huaiyu (Kitty) Liu 3676b5fbef 1. Replaced SendLinkObject and SendDeLinkObject with SyncLinkObject and SyncDeLinkObject
2. Replaced HandleLinkObject and HandleDelinkObject with HandleSyncLinkObject and HandleSyncDelinkObject.
LinkObject seems sync'ed well across actors.
2011-04-19 14:49:47 -07:00
Dan Lake da6044b6be Merge branch 'master' into dev
Conflicts:
	OpenSim/Data/SQLiteLegacy/SQLiteSimulationData.cs
	OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
	OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
	OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
2011-04-19 11:52:25 -07:00
Huaiyu (Kitty) Liu 3d7cece491 Include serialization of Scale in SOP.Shape (it's a sub property in Shape, and also a seperate SOP property,
both pointing to the same copy), so that now serialization of Shape has all its sub properties.
2011-04-19 11:11:14 -07:00
Huaiyu (Kitty) Liu 85085977ac Fixed a bug in ScheduleTerseUpdate, and added a few debug lines. 2011-04-19 09:52:55 -07:00
Huaiyu (Kitty) Liu 28f401d95a Added RegionSyncModule.ProcessAndEnqueuePrimUpdatesBySync, and revised functions relavant
to processing and forwarding prim updates. Code good for 2 CM and PSA to sync on NewObject
and UpdatedPrimProperties.
2011-04-18 15:54:24 -07:00
Justin Clark-Casey (justincc) 71114d4ad1 refactor: rename DeleteToInventory() to CopyToInventory()
DeleteToInventory() is misleading - it is the caller that decides whether to delete or not
2011-04-18 21:34:26 +01:00
Mic Bowman 452ae375f0 Merge branch 'master' into test-merge0418 2011-04-18 11:29:43 -07:00
Huaiyu (Kitty) Liu e84a7157b4 Added SyncDeleteObject to replace calling to SendDeleteObject. 2011-04-15 15:00:02 -07:00
Huaiyu (Kitty) Liu 21c48088d8 Added SyncNewObject() to IRegionSyncModule, to be called when new object is
added to local SceneObject (by local operation, not by receiving sync message).
Code seems good for initial sync when one CM connects to PSA.
2011-04-15 12:15:28 -07:00
Huaiyu (Kitty) Liu 9dfc0e92b8 Changed Enum type SceneObjectPartProperties to SceneObjectPartSyncProperties,
to indicate they are the properties synchronzed by the sync protocol.
Also, added UUID to PrimSyncInfo.
Encode/Decode SOP to/from OSDmap seems working fine now.
2011-04-15 10:42:57 -07:00
Justin Clark-Casey (justincc) 66a62678e5 get rid of all traces of the now used mock service infrastructure 2011-04-15 01:37:27 +01:00
Justin Clark-Casey (justincc) 54e8855819 remove mock asset service for tests in favour of always using the real one 2011-04-15 01:23:26 +01:00
Huaiyu (Kitty) Liu d0938f57eb Added PrimSyncInfo.SetSOPPropertyValue(), and fixed bugs in decoding SOP (PhysActor properties). 2011-04-14 17:09:50 -07:00
Justin Clark-Casey (justincc) a0d80140f2 Make all the objects in a coalescence reappears after being loaded from an IAR. This still doesn't work proprerly since some required textures/contained item assets might be missing.
From pure code inspection, it looks like the uuid gatherer may get most asset uuids because the scene object serializer naively pulls non-root parts from all contained scene objects into one mega-object.  However, root part uuids may well still be missing, and there may be other odd artifacts from this bug.
It appears that storing the size of the coalescence and the offsets is redundant, since one can work out this information from the position data already in the scene object groups.
2011-04-15 00:42:06 +01:00
Justin Clark-Casey (justincc) 4b05e667cb Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-14 20:15:34 +01:00
Mic Bowman 22b307ea1c Merge branch 'master' into queuetest 2011-04-14 11:59:25 -07:00
Justin Clark-Casey (justincc) aaf9125869 simplify coalesced object tests by using existing scene object set up utils
this change makes it possible to set an absolute position on a group before it is put into a scene.
2011-04-14 17:33:55 +01:00
Mic Bowman 6ed6b46aad Comment out the warning if the prioritizer runs without a fully
initialized scene presence. Not sure why we are dumping updates
to a client that isn't there yet...
2011-04-13 21:01:51 -07:00
Mic Bowman 3fe22126ca First pass at moving object property requests into a queue similar
to the entity update queue. The number of property packets can
become significant when selecting/deselecting large numbers of
objects.

This is experimental code.
2011-04-13 15:37:25 -07:00
Justin Clark-Casey (justincc) c81f5bfc5c Adjust the quanterions used in the rez coalsced object tests to get sensible bounding box and offset numbers.
Extend test to check position of objects in the rezzed coalescence.
2011-04-13 22:29:12 +01:00
Justin Clark-Casey (justincc) 68cc5b46fe refactor: move code to obtain the coalescence size and object offsets into CoalescedSceneObjects from the serializer. 2011-04-13 21:48:16 +01:00
Huaiyu (Kitty) Liu b9bfe6ba51 Fixed bugs in encoding/decoding SOG and SOPs, with per property sync info. 2011-04-13 13:43:25 -07:00
Justin Clark-Casey (justincc) 58efd761d1 Add coalesced scene objects class and serializer. This is currently only used by the TestRezCoalescedObject() regression test.
This structure matches the existing one for SceneObjects and will allow code to be reused by the uuid gatherer, other tests, etc.
Test is not yet fully implemented due to a bug in rezzing coalesced objects where they all get the same name as the item.
Only one object should get the same name as the item, which appears to be the one selected last when the the objects were coalesced in the first place.
This bug will be addressed shortly.
2011-04-13 21:17:43 +01:00
Diva Canto 5c870fce54 Bug fix in object serialization -- sculpt data was wrong. 2011-04-12 19:45:33 -07:00
Justin Clark-Casey (justincc) b0889ed92a refactor: simplify bRayEndIsIntersection boolean set from RayEndIsIntersection byte 2011-04-12 22:30:43 +01:00
Justin Clark-Casey (justincc) 8e0d2cc43b If an object is rezzed directly from a prim inventory then give it the rotation it was stored with. 2011-04-12 22:21:46 +01:00
Justin Clark-Casey (justincc) 3ba5eeb6c3 Allow a null rotation to be passed in to RezObject so that we can control whether to use the serialized rotation or not. Not used yet. 2011-04-12 22:15:40 +01:00
Justin Clark-Casey (justincc) 98d7de22dc Fix (add) ability to rez objects by dragging them out of another prim's inventory.
This should happen if the client supplies a task ID with the RezObject call.
The rez goes through the same code as llRezObject(), so the same perms are applied.
Rotation isn't yet preserved, this should be fixed shortly.
2011-04-12 18:31:41 +01:00
Huaiyu (Kitty) Liu a06dad37fd Added ProcessAndEnqueuePrimUpdateByLocal and SyncOutPrimUpdates to
RegionSyncModule, and PrimSyncInfo.PropertyToOSD.
2011-04-11 14:36:38 -07:00
Justin Clark-Casey (justincc) d6948b15c4 Make it more obvious when it happens that DLL plugin loading fails. Improve exception output on Windows. 2011-04-11 21:51:17 +01:00
Mic Bowman ebc249e3be Changed the "not in scene" check in the prioritizier to just
a warning. There appears to be a race condition on slow logins
that attempts to prioritize before the scene presence is fully
initialized.
2011-04-10 17:02:40 -07:00
Mic Bowman 0bd06d8ba8 Fixed the prioritizer functions for the new priority queues 2011-04-10 16:57:02 -07:00
Mic Bowman 77cf9405de Implements adaptive queue management and fair queueing for
improved networking performance.

Reprioritization algorithms need to be ported still. One is
in place.
2011-04-10 16:57:02 -07:00
Huaiyu (Kitty) Liu 2f41b216d3 Updated PrimSyncInfo.CompareAndUpdateHashedValueByLocal, to overwrite SOP's
properties Shape and TaskInventory if PrimSyncInfo's value has newer timestamp.
2011-04-08 15:55:40 -07:00
Huaiyu (Kitty) Liu 2dccc3205d Implemente PrimSyncInfo.CompareAndUpdateHashedValueByLocal, updated UpdatePropertiesByLocal
and a few update related functions in PrimSyncInfo.
2011-04-08 15:08:56 -07:00
Huaiyu (Kitty) Liu 2f17a9d224 Added more functions to PrimSyncInfo, and added class PrimSyncInfoManager.
Also, commented out a few not sync-relavent properties from SceneObjectPartProperties.
2011-04-07 15:34:09 -07:00
Huaiyu (Kitty) Liu fe3d4ec9a8 Re-implemented SOP.ScheduleFullUpdate and SOP.ScheduleTerseUpdate, calling RecordPrimUpdatesByLocal
to record updated values and timestamp of SOP's updated properties.

Also, removed some code that had been commented out before.
2011-04-06 14:38:14 -07:00
Justin Clark-Casey (justincc) 9bc2705f37 Fix bug where on duplication, the root part local id was continually used in populating the local id scene object index instead of each part's local id 2011-04-06 20:52:36 +01:00
Justin Clark-Casey (justincc) 8318915d7e Signal prim count taint if the AbsolutePosition of a scene object changes.
This updates prim counts correctly if an object is moved by something other than an avatar (e.g. scripts, region modules)
Create TestMoveOwnerObject() regression test for this case.
2011-04-06 20:48:00 +01:00
Huaiyu (Kitty) Liu 2bea8bb4bc Added class PropertySyncInfo and PrimSyncInfo in RegionSyncModule. 2011-04-06 12:23:04 -07:00
Justin Clark-Casey (justincc) 2497962360 Change some text to make the autoreturn mechanism more obvious, and align with the fact that it's one word rather than two. 2011-04-05 22:25:00 +01:00
Justin Clark-Casey (justincc) 0e465da187 remove now unused individual LandData prim counts.
However, the calls to the land management module to record prims need to remain, since they were also being used to return owner object lists, etc.
This is probably why prim counts were being done there in the first place.
2011-04-05 21:25:54 +01:00
Justin Clark-Casey (justincc) f58941e89f Make the "All Estates" option work from the client (this makes chosen changes to all the estates that the user owns).
This applies to adding/removing estate users, groups, managers and bans.
This is the application of the AllEstates_0.5.patch from http://opensimulator.org/mantis/view.php?id=5420
Thanks very much, Snoopy!
2011-04-05 01:30:13 +01:00
Melanie b385d4aa03 Implement taking of coalesced objects.
WARNING!!!!!
You can TAKE them, but you can't REZ them again. Only the first of the contained
objects will rez, the rest is inaccessible until rezzing them is implemented.
Also, rotations are not explicitly stored. This MAY work. Or not.
2011-04-03 20:24:44 +01:00
Melanie e8e940e33e Make CHANGED_OWNER work for deeding and god-mode in-world change 2011-04-03 14:16:41 +01:00
Melanie 3a113f9902 A stab at making CHANGED_OWNER work 2011-04-01 22:04:29 +01:00
Huaiyu (Kitty) Liu 2abffd867f Fixed more bugs while merging in the functions from commit 5b79e15285. 2011-03-31 16:45:12 -07:00
Justin Clark-Casey (justincc) 8022400bd4 Remove unused Datastore parameter from RegionInfo (legacy from early 2008) 2011-03-31 22:16:09 +01:00
Huaiyu (Kitty) Liu 170a230e51 Merge branch 'dev' of ssh://sceneapi@island.sciencesim.com/home/sceneapi/sceneapi into dev 2011-03-29 17:13:15 -07:00
Huaiyu (Kitty) Liu cce9a12dbe Fixed a few bugs introduced by my last commit. 2011-03-29 17:11:58 -07:00
Dan Lake fe623f0900 Updated dev code to work with latest changes in opensim master 2011-03-29 16:29:00 -07:00
Dan Lake f89ae8700d Merge branch 'master' into dev 2011-03-29 16:04:55 -07:00
Dan Lake 13057c3751 Merge branch 'dev' of ssh://island.sciencesim.com/home/sceneapi/sceneapi into dev 2011-03-29 14:16:29 -07:00
Dan Lake 0445e6e251 Merge branch 'master' of git://opensimulator.org/git/opensim into dev 2011-03-29 13:42:01 -07:00
Huaiyu (Kitty) Liu eed53e8a56 Fixed terrain synchroniztion to work properly when clients edit the terrain via viewer. 2011-03-28 17:22:24 -07:00
Justin Clark-Casey (justincc) f2d2470c25 When an object is duplicated, add it to the full/local id SOG indexes as well as Entities 2011-03-26 02:24:32 +00:00
Justin Clark-Casey (justincc) bfd9cc44b4 When an object is duplicated, add the dupe to the uuid/local id indexes as well as the basic entities list.
Added a prim counts test to reinforce this - shift-copy was no incrementing prim count.  This will sometime become a basic scene test.
New code needs to be refactored so we just call SceneGraph.AddSceneObject().  This will happen in the near future.
With this, basic owner prim counts on a single parcel appear to be working fine (with the same previous existing taint calls as used by the land management module).
More work to do.
2011-03-26 02:05:53 +00:00
Justin Clark-Casey (justincc) 3d0e072d50 Merge branch 'master' into primcounts 2011-03-26 00:57:52 +00:00
Justin Clark-Casey (justincc) 26d16567e1 Make SceneGraph.ForEachSOG() execute once for each SOG, not once for each prim (e.g. a SOG with 3 prims would have the action executed three times).
To do this, a new SceneObjectGroupsByFullID index in SceneGraph which just index's prims by their root part UUID, in order to avoid the inefficiency of filtering existing lists.
Existing callers to SceneGraph.ForEachSOG() did not fail due to the multiple per SOG action executions - they were probably just much less efficient.
Code suggests that no callers expected ForEachSOG() to execute actions on sog multiple times
2011-03-26 00:53:19 +00:00
Justin Clark-Casey (justincc) f30bf429c2 refactor: rename SOG collections in SceneGraph to make it clearer that they are indexing each part's UUID, not just the root part. 2011-03-26 00:42:48 +00:00
Justin Clark-Casey (justincc) 6ae04448f7 Start using IPrimCounts populated by PrimCountModule instead of LandData counts populated by LandManagementModule.
In order to pass ILandObject into IClientAPI.SendLandProperties(), had to push ILandObject and IPrimCounts into OpenSim.Framework from OpenSim.Region.Framework.Interfaces, in order to avoid ci
Counts are showing odd behaviour at the moment, this will be addressed shortly.
2011-03-25 23:05:51 +00:00
Justin Clark-Casey (justincc) 7f5019b0f2 Add ILandObject.IPrimCounts for the new prim count module.
Not functional yet, but tests now act against this object rather than interrogating the module directly
2011-03-25 21:47:54 +00:00
Justin Clark-Casey (justincc) d011896341 Add generic EventManager.OnObjectAddedToScene and get PrimCountModule to listen for that rather than EventManager.OnParcelPrimCountAdd
OnParcelPrimCountAdd had the wrong semantics for the PrimCountModule - it was invoked for every entity in the scene, not just new ones, which would screw up the untainted count.
Extend automated test for this scenario.
2011-03-23 21:53:14 +00:00
Huaiyu (Kitty) Liu 0ad9366abb In InventoryAccessModule.RezObject, move the calling of AddNewSceneObject to the later part of
the function, so that the object's most properties have values already set when AddNewSceneObject
is called, which will trigger RegionSyncModule.SendNewObject to sync across scene copies.
2011-03-23 10:23:13 -07:00
Justin Clark-Casey (justincc) b34743e5fe Add an initial confidence-building TestAddObject() for prim counts. 2011-03-22 23:47:36 +00:00
Justin Clark-Casey (justincc) 7acade00b9 On initial setup, include estate and regions names in questions to make it clearer what they relate to. 2011-03-21 23:26:35 +00:00
Justin Clark-Casey (justincc) 2d1f0d224c minor: slightly adjust previous method doc. 2011-03-21 22:27:16 +00:00
Justin Clark-Casey (justincc) 793bfb5a66 add method doc to IEstateDataService and IEstateDataStore interfaces 2011-03-21 22:25:20 +00:00
Huaiyu (Kitty) Liu fb8a91bc8d Removed some debug logs, and changed some from Debug to DebugFormat. 2011-03-21 14:51:03 -07:00
Justin Clark-Casey (justincc) d3a20a1e92 On initial region registration, if the user chooses the option to make the region part of an existing estate, then list the existing region names. 2011-03-21 21:37:06 +00:00