Huaiyu (Kitty) Liu
37dd39fd5d
Added SendNewObject to explicitly send out NewObject sync message when new objects are added.
2011-03-11 15:39:06 -08:00
Huaiyu (Kitty) Liu
48ad2010e5
removed some debug message.
2011-03-11 13:54:09 -08:00
Huaiyu (Kitty) Liu
1ab4df9954
In RegionSyncModule.PrimUpdatesPhysicsBucketSender, if no PhysicsActor for the SOP, still sending out
...
"GroupPosition" and a few other properties in physics bucket. Sync'ing of phantom objects now seems working fine.
2011-03-11 11:50:46 -08:00
Huaiyu (Kitty) Liu
13798f9f7d
Fixed bugs in llCreateLink to sync LinkObject properly.
...
Also, added logs for debug purposes.
2011-03-11 09:22:32 -08:00
Dan Lake
7210b7f517
Merge branch 'master' of git://opensimulator.org/git/opensim into dev
...
Conflicts:
OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
OpenSim/Region/Framework/Scenes/Scene.cs
OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-03-07 15:57:31 -08:00
Robert Adams
400c9b5293
Using PhysActor sync for avatars and bucket sync for prims. Working with avatars kicking physical objects
2011-02-28 14:09:19 -08:00
Robert Adams
f212a60067
Merge branch 'dev_kitty' of ssh://island.sciencesim.com/home/sceneapi/sceneapi into physbucket
...
Conflicts:
OpenSim/Region/CoreModules/RegionSync/RegionSyncModule/RegionSyncAvatar.cs
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
2011-02-24 14:48:11 -08:00
Robert Adams
2335968271
Adding SOG/SOP to ScenePresence working more but confusion on UUID of presence vs SOG
2011-02-24 14:41:16 -08:00
Justin Clark-Casey (justincc)
2f5394e70d
Fix bug where avatars in other regions would not always show up on the mini-map
2011-02-24 22:33:54 +00:00
Robert Adams
1ff16c93a3
Another attempt to add SOG/SOP to ScenePresence so it can be handled by bucket update code
2011-02-18 17:16:57 -08:00
Huaiyu (Kitty) Liu
10a41ad5b5
Added code in SceneGraph.AddSceneObjectByStateSynch to handle attachment objects.
2011-02-18 15:49:01 -08:00
Robert Adams
c9c94a5f23
Physics bucket packing and unpacking
2011-02-16 17:11:16 -08:00
Huaiyu (Kitty) Liu
94e433315e
Added code to send and receive SymmetricSyncMessage.MsgType.UpdatedBucketProperties sync message.
2011-02-15 14:02:53 -08:00
Huaiyu (Kitty) Liu
41c85d9fd1
Changed interface of ScheduleFullUpdate and ScheduleTerseUpdate, and pass a list of updatedProperties as the argument.
2011-02-14 13:54:34 -08:00
Huaiyu (Kitty) Liu
411fa60b2b
RegionSyncModule.SendLinkObject and SendLinkObject now call BucketSyncInfoUpdate() for the linked/delinked
...
objects, to make sure they have updated timestamp information for synchronization purpose.
2011-02-14 11:33:57 -08:00
Huaiyu (Kitty) Liu
7a331b6a8f
Switched to use ScheduleFullUpdates() and ScheduleTerseUpdates() as the funnel to catch any property updates, so as to update bucket's sync
...
timestamp correctly. Code good for compilation, runtime not tested yet.
2011-02-11 15:31:13 -08:00
Huaiyu (Kitty) Liu
5ef659520e
Access to sop.Shape.Scale replaced by sop.Scale.
2011-02-10 17:06:15 -08:00
Huaiyu (Kitty) Liu
3cd1ec8752
Renamed SOP and SOPInventory as SOPBase and SOPInventoryBase, and define new SOP and SOPInventory. The latters
...
will invoke UpdateBucketSyncInfo the set functions of their properties, while the base classes won't.
2011-02-09 17:17:16 -08:00
Huaiyu (Kitty) Liu
e8e9a0fb43
Enabled all synchronized properties to be updated by calling through SetXXX() to set values.
2011-02-08 15:33:54 -08:00
Huaiyu (Kitty) Liu
e9b831b8f4
1. Updated SOP.InventorySerial and SOP.TaskInventory set functions, to make sure only local write accesses trigger
...
UpdateBucketSyncInfo().
2. LinkObjectsBySync(), DelinkObjectsBySync(), and functions they call into, all updated to set properties via calling SetXXX instead of by "XXX=", so that the set operations won't trigger UpdateBucketSyncInfo().
2011-02-07 17:16:26 -08:00
Huaiyu (Kitty) Liu
62a9e0b7c4
No longer calling SyncInfoUpdate to update timestamp. Bucket based concurrency control now in place for a few physics properties
...
whose SetXXX() functions have been implemented in SceneObjectPart.
2011-02-03 17:21:00 -08:00
Dan Lake
a23ffa2262
Merge branch 'master' from git://opensimulator.org/git/opensim into dev
...
Conflicts:
OpenSim/Region/Framework/Scenes/Scene.cs
2011-01-30 04:13:20 -08:00
Huaiyu (Kitty) Liu
1252df6f1e
Added code to receive and process DelinkObject sync message. Preliminary delink tests seems running fine.
2011-01-28 12:11:42 -08:00
Huaiyu (Kitty) Liu
1b99c33e6c
Added code to send out DelinkObject message at the actor that initiates the operation.
2011-01-27 16:19:36 -08:00
Huaiyu (Kitty) Liu
441551e7c6
Commented out debug messages in enabling LinkObject synchronization.
2011-01-26 16:39:18 -08:00
Huaiyu (Kitty) Liu
101d67c45b
Enabled LinkObject to synchronize across actors.
2011-01-26 16:01:54 -08:00
Mic Bowman
240c0eaf1d
Remove the RestorePresences functions (which don't seem to be doing
...
anything) and clean up the code in AddNewClient (so Appearance only
gets assigned once, not three times).
2011-01-26 13:33:34 -08:00
Huaiyu (Kitty) Liu
4860eba0ba
In SceneGraph.LinkObjects, call RegionSyncModule.SendLinkObject before parentGroup.LinkToGroup is called,
...
so that the actors who receive LinkObject message will get it before the soft-delete messages of the linked-in
parts.
2011-01-26 11:54:51 -08:00
Huaiyu (Kitty) Liu
005c743fae
Added event SceneGraph.OnObjectCreateBySync, which will be triggered in AddSceneObjectByStateSynch.
...
ScriptEngineSyncModule now subscribes to this new event to create new script instances.
2011-01-24 16:25:33 -08:00
Huaiyu (Kitty) Liu
e39d2ab14f
Added DelinkFromGroupBySync and supporting functions to handle delink operations.
2011-01-20 15:58:48 -08:00
Huaiyu (Kitty) Liu
a0eddfcf61
Added AddNewPart for synchronization of linked objects.
2011-01-19 17:34:28 -08:00
Huaiyu (Kitty) Liu
b3179d34da
reimplement SceneObjectGroup.UpdateObjectAllProperties to do parts updating differently, as
...
an attemp to make linkset updates correct, and rename the function UpdateObjectGroupBySync.
2011-01-19 10:52:06 -08:00
Huaiyu (Kitty) Liu
f8a0de591d
Handling RemovedObject as event, instead of as object-update as in the previous approach.
2011-01-10 16:30:42 -08:00
Dan Lake
4f45dcf711
Commenting out verbose debug in SceneGraph.cs
2011-01-07 11:37:03 -08:00
Dan Lake
0b164072b3
Merge branch 'danmerge_symsync' into dev
2011-01-03 15:13:04 -08:00
Dan Lake
adeab48e7e
Merge branch 'master' into danmerge
2011-01-02 18:38:58 -08:00
Huaiyu (Kitty) Liu
994d70f9d8
Code good for script engine and Scene to sync on majority object operations:
...
e.g. script execution, editing objects, reloading
oar file on Scene (but terrian not updated correctly to the debugging viewer of script engine),
rezing objects by scripts, deleting objects.
2010-12-28 17:11:30 -08:00
Huaiyu (Kitty) Liu
384895cbdd
Added synchronization functions to RegionSyncModule, Scene, SceneGraph, SceneObjectGroup and
...
SceneObjectPart: examples:
HandleAddOrUpdateObjectBySynchronization
QueueSceneObjectPartForUpdate
SceneObjectGroup.UpdateObjectAllProperties
SceneObjectPart.UpdateAllProperties
Now script engine and Scene can sync on script updating or Scene editing objects.
2010-12-28 12:09:17 -08:00
Huaiyu (Kitty) Liu
e68a8f7710
Added handlers to SceneGraph.OnObjectCreate event in both ScenePersistenceSyncModule
...
and ScriptEngineSyncModule, so that they can apply actor specific operations once
an object is added to the local Scene.
2010-12-23 15:42:05 -08:00
Justin Clark-Casey (justincc)
e62b3dba8a
reinstate IAttachmentsModule.UpdateAttachmentPosition() since this is being used by a 3rd party region module and contains non-obvious attachment specific code
...
There are no functional changes. UpdateAttachmentPosition() is adapted to the new approach of only saving attachment state on logout
2010-12-14 00:11:41 +00:00
Justin Clark-Casey (justincc)
a918c8df97
fix the minimap sitting avatar location bug
...
a sitting avatar should have it's offset position added to the scene object, not its absolute position
2010-12-10 03:46:16 +00:00
Dan Lake
681190f682
Merge branch 'master' into danmerge
...
Conflicts:
.nant/local.include
OpenSim/Client/Sirikata/ClientStack/SirikataClientView.cs
OpenSim/Framework/AvatarAppearance.cs
OpenSim/Framework/IClientAPI.cs
OpenSim/Region/Application/OpenSim.cs
OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
OpenSim/Region/Framework/Scenes/EventManager.cs
OpenSim/Region/Framework/Scenes/Scene.cs
OpenSim/Region/Framework/Scenes/SceneGraph.cs
OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
OpenSim/Region/Framework/Scenes/ScenePresence.cs
OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
OpenSim/Region/Framework/Scenes/Tests/SceneTests.cs
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
bin/config-include/SimianGrid.ini
prebuild.xml
2010-11-30 17:36:36 -08:00
Melanie
7bb005b0d1
Change the way attachments are persisted. Editing a worn attachment will now
...
save properly, as will the results of a resizer script working. Attachment
positions are no longer saved on each move, but instead are saved once on
logout. Attachment script states are saved as part of the attachment now
when detaching.
2010-11-16 21:01:56 +00:00
Melanie
1fcac7203d
Prevent nullrefs in scene object deletion. Mantis #5156
2010-10-27 20:47:27 +01:00
Melanie
511751a733
I really have to say it again and again: e.Message is NOT enough data for
...
troubleshooting. It MUST be combined with e.StackTrace, or e.ToString() must
be used.
Fix one more instance of that cr.p
2010-10-03 22:36:27 +01:00
Melanie
8e547d3491
Prevent setting arbitrary groups on your objects.
2010-09-27 02:11:55 +01:00
Dan Lake
f5d25981ac
Merged with Kitty's Script engine code.
2010-09-23 16:32:38 -07:00
John Hurliman
860b2a502f
Changed SceneObjectGroup to store parts with the fast and thread-safe MapAndArray collection
2010-09-16 17:30:46 -07:00
Justin Clark-Casey (justincc)
7ae9266186
Remove SceneGraph.DetachObject() which was accidentally left around after being migrated to AttachmentsModule
2010-09-13 21:20:31 +01:00
Jeff Ames
f1f0bc23f4
Formatting cleanup.
2010-09-12 13:43:49 -04:00
John Hurliman
b597a295c4
Second pass at cleaning up thread safety in EntityManager and SceneGraph
2010-09-10 12:41:36 -07:00
John Hurliman
dd277a0d02
First pass at cleaning up thread safety in EntityManager and SceneGraph
2010-09-10 12:04:12 -07:00
Melanie
8fda08d858
Make sure unlinked child prims get persisted
2010-09-07 11:48:28 +01:00
Melanie Thielker
c47de94263
Adjust the "Magic numbers" we use because we can't reference the actual
...
script state enum to reflect recent changes.
2010-08-31 22:36:46 +01:00
Justin Clark-Casey (justincc)
1c0b4457cd
Improve liveness by operating on list copies of SOG.Children where appropriate
2010-08-28 00:40:33 +01:00
Justin Clark-Casey (justincc)
f3f4428700
refactor: break out attachment position change code in Scene.UpdatePrimPosition() and move into AttachmentsModule
...
This allows region modules to change attachment positions.
2010-08-26 21:50:19 +01:00
Justin Clark-Casey (justincc)
df702417dc
Remove mono compiler warnings
2010-08-26 16:27:41 +01:00
Justin Clark-Casey (justincc)
87a6554d4b
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
...
Resolve merge conflicts
Conflicts:
OpenSim/Region/Framework/Scenes/SceneGraph.cs
2010-08-26 00:35:03 +01:00
Justin Clark-Casey (justincc)
8031f8ec09
Improve consistency of locking for SOG.m_parts in order to avoid race conditions in linking and unlinking
2010-08-26 00:08:53 +01:00
Melanie Thielker
604423d52b
Make scene object directories more robust and prevent deleted SOP's from
...
sticking around
2010-08-25 23:19:30 +01:00
Justin Clark-Casey (justincc)
d69e992665
Split out actual scene object insertion code from Scene.Inventory.RezObject and move into SceneGraph.AddNewSceneObject()
...
The new SceneGraph method is more consumable by region modules that want to extract objects from inventory and add them to the scene in separate stages.
This change also reduces the number of redundant client updates scheduled when an object is rezzed directly by a script or region module
This code does not touch direct rez by a user
2010-08-24 23:25:19 +01:00
Dan Lake
8f8ef75034
Merged with main AND partial implementation of teleport based load balancing. Did not intend to combine the merge with these changes.
2010-08-16 10:23:50 -07:00
Justin Clark-Casey (justincc)
4e2caab756
Add new SceneGraphTests class. Add simple TestDuplicateObject()
2010-08-07 01:06:47 +01:00
Justin Clark-Casey (justincc)
6c8c8d669b
minor: a few miscellaneous comments
2010-08-07 00:45:04 +01:00
Justin Clark-Casey (justincc)
4d83b2d8a6
remove unused BasicQuadTreeNode
2010-07-30 21:06:45 +01:00
Dan Lake
9ada2a1f34
Client manager changes as of R@I
2010-07-19 13:03:04 -07:00
Melanie Thielker
85a9c305a2
Remove AgentID and GroupOD from the signature of SOG.Copy(). They were never
...
used, but made for a very mispleading read of the code in the callers.
2010-06-28 01:43:26 +01:00
Melanie Thielker
4cdda2cae9
Fix Copy on Ray, Drag Copy and other little things. Removed the wrong and
...
nonworking ownership assignment in SOG, which messed things up before.
No longer trust the client to send the ID of the person something is copied
as, since it allows to run a script with someone else's permissions. Properly
adjust inventory ownership and perms.
2010-06-28 01:36:40 +01:00
Melanie Thielker
660a560d3b
Make drag copy and copy-on-ray handle friends list perms properly
2010-06-27 20:59:51 +01:00
Justin Clark-Casey (justincc)
52b711af82
stop KeyNotFoundException() being thrown in RemoveScenePresence if the agent isn't present in the presence dictionary
...
the code to do this was there but was being circumvented by newmap[agentID] before the check actually took place
2010-06-25 18:55:20 +01:00
Dan Lake
ca2abc43ad
Refactor SendCoarseLocations for better performance. Instead of computing list of all locations fresh for every scene presence on every frame, we will instead compute the list once every 50 frames and send to all connected presences at that time. Also, we only add 60 items to the list when there are more than 60 presences in the scene. For 1000 users, this change yields a 99.8% reduction in list processing and a 98% reduction in network bandwidth for coarse locations.
2010-06-08 16:44:18 -07:00
Justin Clark-Casey (justincc)
b6076d7b33
Reduce number of full updates sent on region crossing for attachments/huds to 1 from 3
...
This is one step towards reducing hud glitches on region crossing, since the viewer fails to display prims if it receives child full updates before the root prim full update
This commit also introduces a mechanism in LLClientView to stop child attachment updates ever going out before the root one
This is a very temporary mechanism and will be commented out when the next step of the fix (to give root prims higher udpate priority) is committed
This code is a foreport from the equivalent changes in 0.6.9-post-fixes
2010-06-08 15:07:57 +01:00
Dan Lake
9afa8b990d
Merged from master
2010-06-02 14:40:10 -07:00
Melanie Thielker
e515467c5e
Fix create selection getting overwritten by multiple updates for the same prim.
2010-05-31 17:55:56 +01:00
Justin Clark-Casey (justincc)
5287c5f7fb
rearrange SceneGraph.AddSceneObject() to return earlier if an object with that uuid is already in the scene
...
this means that we don't perform pointless work
2010-05-21 21:57:56 +01:00
Justin Clark-Casey (justincc)
f83acf533b
Fix a problem where SceneGraph.AddSceneObject() would return false on successfully adding an object rather than true, in defiance of its method documentation
...
This meant that the returns were inconsistent - false would be returned both for various scene object failure conditions (e.g. root part was null) and if the object was successfully added.
2010-05-21 21:22:53 +01:00
Dan Lake
82a71fb7e2
Adding appearance and animations
2010-05-18 09:05:13 -07:00
Dan Lake
36bcab5f07
Refactor scene presence list for lockless iteration. Lock contention will now only be for simultaneous add/removes of scene presences from the scene.
2010-05-15 02:20:23 -07:00
Melanie
22b3217113
Fix link security issue
2010-04-30 11:46:50 +01:00
Dan Lake
79327a6299
Merge branch 'master' into sceneapi
2010-04-20 11:43:03 -07:00
Melanie
21cad5d3ac
All scripts are now created suspended and are only unsuspended when the object
...
is fully rezzed and all scripts in it are instantiated. This ensures that link
messages will not be lost on rez/region crossing and makes heavily scripted
objects reliable.
2010-04-19 06:29:26 +01:00
Justin Clark-Casey (justincc)
57c293d604
refactor: crudely move DetachSingleAttachmentToGround() over to the AttachmentsModule
2010-04-16 23:15:13 +01:00
Dan Lake
8027b7c1a5
Merged from master
2010-03-24 10:50:42 -07:00
Dan Lake
4216eacd6c
Some work on sceneapi
2010-03-23 16:30:56 -07:00
Dan Lake
62e0b53ca4
Renamed TryGetAvatar to TryGetScenePresence on SceneManager, SceneBase, Scene and SceneGraph. This was the only change in this patch to keep it isolated from other recent changes to the same set of files.
2010-03-19 15:16:44 -07:00
Dan Lake
859bc717a4
Cleaned up access to scenepresences in scenegraph. GetScenePresences and GetAvatars have been removed to consolidate locking and iteration within SceneGraph. All callers which used these to then iterate over presences have been refactored to instead pass their delegates to Scene.ForEachScenePresence(Action<ScenePresence>).
2010-03-19 15:16:35 -07:00
Dan Lake
73e9b0be72
Inconsistent locking of ScenePresence array in SceneGraph. Fixed by eliminating option to return the actual list. Callers can now either request a copy of the array as a new List or ask the SceneGraph to call a delegate function on every ScenePresence. Iteration and locking of the ScenePresences now takes place only within the SceneGraph class.
...
This patch also applies a fix to Combat/CombatModule.cs which had unlocked iteration of the ScenePresences and inconsistent try/catch around the use of those ScenePresences.
2010-03-17 11:21:27 -07:00
Justin Clark-Casey (justincc)
582375509c
refactor: move RezSingleAttachmentFromInventory() from SceneGraph to AttachmentsModule
2010-03-12 22:48:49 +00:00
Justin Clark-Casey (justincc)
b9f5cd75bc
refactor: move client invoked AttachObject from SceneGraph to AttachmentsModule
2010-03-12 22:39:15 +00:00
Justin Clark-Casey (justincc)
395f343498
refactor: Move DetachSingleAttachmentToInv to region module
...
need to rationalize method names later
2010-03-06 00:07:47 +00:00
Justin Clark-Casey (justincc)
60553e62a3
refactor: begin to move attachments code into a region module
2010-03-05 23:18:47 +00:00
Justin Clark-Casey (justincc)
edb176447b
Fix bug where approximately half the time, attachments would rez only their root prim until right clicked (or otherwise updated).
...
The root cause of this problem was that multiple ObjectUpdates were being sent on attachment which differed enough to confuse the client.
Sometimes these would eliminate each other and sometimes not, depending on whether the scheduler looked at the queued updates.
The solution here is to only schedule the ObjectUpdate once the attachment code has done all it needs to do.
2010-03-03 22:14:06 +00:00
Justin Clark-Casey (justincc)
660ebe52cf
Actually make EventManager.OnAttach() fire when an object is attached. Previously, only detach was firing!
2010-03-03 18:40:33 +00:00
Melanie
1f45e6c649
Merge branch 'master' into presence-refactor
...
This brings presence-refactor up to master again
2010-02-22 03:00:59 +00:00
Jeff Ames
af265e001d
Formatting cleanup.
2010-02-15 19:21:56 +09:00
Melanie
c033223c63
Merge branch 'master' into presence-refactor
2010-02-15 00:20:48 +00:00
Revolution
9821c4f566
Revolution is on the roll again! :)
...
Fixes: Undo, T-pose of others on login, modifiedBulletX works again, feet now stand on the ground instead of in the ground, adds checks to CombatModule. Adds: Redo, Land Undo, checks to agentUpdate (so one can not fall off of a region), more vehicle parts. Finishes almost all of LSL (1 function left, 2 events).
Direct flames and kudos to Revolution, please
Signed-off-by: Melanie <melanie@t-data.com>
2010-02-14 22:18:46 +00:00
Melanie
baaf660511
Merge branch 'master' into presence-refactor
...
This was a large, heavily conflicted merge and things MAY have got broken.
Please check!
2010-02-08 15:53:38 +00:00
Melanie
2953bee1f4
Revert "change position of OnAttach event firing so that this also happens when a user teleports into a region"
...
The behavior introduced here is not compatible with SL
This reverts commit b6bee4999c
.
2010-02-04 17:11:06 +00:00
Justin Clark-Casey (justincc)
b6bee4999c
change position of OnAttach event firing so that this also happens when a user teleports into a region
2010-02-03 15:35:41 +00:00