Commit Graph

1667 Commits (bcd7f300894ccfe330fb74b33e05418b976b6725)

Author SHA1 Message Date
Justin Clark-Casey (justincc) 0badf3718d refactor: push the part of SceneObjectGroup.CheckSculptAndLoad() that actually deals with the part into a SceneObjectPart.CheckSculptAndLoad() method 2011-07-11 03:35:29 +01:00
Justin Clark-Casey (justincc) 2f3d0e209f When a sculpt/mesh texture is received by a part on a callback request, don't do the unnecessary work of copying the base shape.
Just setting the new base shape is enough to reinsert the sculpt data and set the taint.
Also cleans up a few more left-in debugging messages.
2011-07-11 03:13:59 +01:00
Justin Clark-Casey (justincc) 6a15464b0a refactor: Make arguments to SceneGraph.UpdatePrimFlags() more readable 2011-07-11 02:29:19 +01:00
Justin Clark-Casey (justincc) 01b98c2e62 refactor: Make arguments for SceneObjectGroup.UpdatePrimFlags() more readable 2011-07-11 02:18:19 +01:00
Justin Clark-Casey (justincc) e68ae44b6b minor: remove mono compiler warning 2011-07-11 02:11:37 +01:00
Justin Clark-Casey (justincc) c6d4304a04 refactor: very minor space insertion 2011-07-11 02:11:16 +01:00
Justin Clark-Casey (justincc) c964114f7e refactor: make argument to SOP.UpdatePrimFlags() more readable 2011-07-11 02:09:11 +01:00
Justin Clark-Casey (justincc) 59aedbc94b Rename SceneSetupHelpers.AddRootAgent to AddClient() to better represent its effects and return object 2011-07-09 02:25:40 +01:00
Justin Clark-Casey (justincc) 5e8900dfd0 minor: code tidy and inserted log lines for future use.
Unable to get to the bottom of why resizing a mesh fails to properly reset the physics proxy, when toggling phantom does
After a mesh is generated, the existing sculptdata is set to zero in PrimitiveBaseShape to save memory
When phantom is toggled, the sculptdata is regenerated before remeshing.
But on resize, the sculptdata is not regenerated.
So clearly, resetting sculptdata is possible, but haven't quite been able to pin down how this is being done when phantom is toggled.
2011-07-09 00:35:30 +01:00
Justin Clark-Casey (justincc) 1dcad4ac66 minor: commented out log lines for future use and very small code tidy 2011-07-08 17:58:01 +01:00
Justin Clark-Casey (justincc) e41093635a fix build break I just introduced 2011-07-01 21:37:03 +01:00
Justin Clark-Casey (justincc) 9f72fbcb75 Add an async inventory details sender to respond to FetchInventory packets.
If a user with a very large inventory right-clicks on their "My Inventory" folder, viewer 1 code will send a massive number of Fetchinventory requests.
Even though each is handled asynchronously via a pool thread, the sheer frequency of requests overwhelms the pool and freezes inbound packet handling.
This change makes the first Fetchinventory thread also handle subsequent requests, freeing up the other threads.
Further efficiencies could be made by handling all the items in a particular FetchInventory request together, rather than separately.
2011-07-01 21:25:40 +01:00
Huaiyu (Kitty) Liu f029bd7782 Reimplement AddNewSceneObjectBySync in SceneGraph.cs and DeleteSceneObjectBySync in Scene.cs,
so that they are eventually calling OpenSim's implementation of AddSceneObject and DeleteSceneObject.

Also, fixed a bug in syncing position of attachments.
2011-06-30 16:44:01 -07:00
Robert Adams 6574690c7b Add FullPartID dictonary entry into AddNewSceneObjectBySync 2011-06-30 14:10:00 -07:00
Justin Clark-Casey (justincc) c84a1bd99f Don't follow inventory links of links.
This is to avoid problems with corrupt inventories where an inventory link target points back at the source's folder
No viewer has been observed to set these up as of yet.  If this ever happens, we will need a more sophisticated solution to track sent folders within the recursion
2011-06-29 01:33:41 +01:00
Justin Clark-Casey (justincc) 1b4c08730e refactor: simplify redundant double containing folder check 2011-06-29 00:56:35 +01:00
Justin Clark-Casey (justincc) 3f0b8db0c1 If an inventory link target is in the same folder as the source, then don't recursively request that folder.
Currently, this should never actually happen but certainly best to handle this case
2011-06-29 00:54:53 +01:00
Justin Clark-Casey (justincc) 22f25fae38 Hack around with the NPC module to get osNpcCreate() partially working again.
This now creates an avatar but appearance is always cloudy.
Move doesn't work.
Really, creating an NPC should only involve a ScenePresence rather than doing anything with IClientAPI, since an NPC has no viewer to communicate with!
2011-06-29 00:28:22 +01:00
Justin Clark-Casey (justincc) 1a0a9d2290 Implement the latest mesh mechanism so that rezzing the uploaded mesh now works again.
Many thanks to the aurora project for pioneering this.
This code is almost certainly not bug free, but it does at least appear to handle simple meshes (except when the viewer crashes - but it is beta!).
2011-06-24 21:54:01 +01:00
Dan Lake b71b7b2f7c Updated CacheUserName to work without circuit data on non-client manager actors. I need to fix this long term by creating a circuit data on non-cm actors and synchronizing properties across using sync layer. 2011-06-21 16:55:31 -07:00
Dan Lake b6d93d0c40 Merge branch 'dev' of ssh://island.sciencesim.com/home/sceneapi/sceneapi into dev
Conflicts:
	OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs
	OpenSim/Region/CoreModules/RegionSync/RegionSyncModule/SymmetricSync/GridDialogModule.cs
2011-06-15 15:26:17 -07:00
Dan Lake 327f30e6d1 Merge branch 'master' into dev
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
	OpenSim/Region/Physics/Manager/PhysicsActor.cs
	OpenSim/Region/Physics/Manager/PhysicsScene.cs
2011-06-15 14:13:58 -07:00
Dan Lake 8791e5dac0 Working out merge errors with master 2011-06-15 13:43:02 -07:00
Mic Bowman ad84728aba Add localID to physical object creation functions. 2011-06-15 11:31:32 -07:00
Mic Bowman 29da57e380 Add the PhysActor to the correct SOP when duplicating a physical
prim. Thanks, MisterBlue
2011-06-15 11:26:45 -07:00
Dan Lake 9c15c8897e Merge branch 'master' into dev 2011-06-14 23:16:48 -07:00
Dan Lake 32ddcefaca Merge branch 'master' into dev
Conflicts:
	OpenSim/Region/Framework/Scenes/EventManager.cs
	OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
	OpenSim/Region/Framework/Scenes/SceneGraph.cs
	OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
	OpenSim/Region/OptionalModules/ContentManagementSystem/CMModel.cs
2011-06-14 23:15:34 -07:00
Huaiyu (Kitty) Liu 941cec5548 Added code to propagate ScriptLandCollidingStart, ScriptLandColliding, and
ScriptLandCollidingEnd events.
2011-06-14 16:48:21 -07:00
Huaiyu (Kitty) Liu 57a42508ec Added AbsolutePosition as another SOP property to sync across, yet made
it a group property, so that only RootPart will trigger a sync message
for this property. An optimization to avoid sending many position updates
for linkset objects.
2011-06-14 14:53:12 -07:00
Justin Clark-Casey (justincc) fc7e17baf7 When serializing objects, stop accidentally using the green text colour value for alpha
This addresses http://opensimulator.org/mantis/view.php?id=5111
2011-06-10 21:49:25 +01:00
Justin Clark-Casey (justincc) b5518dc906 minor: Add some commented out destructor logging messages for potential future use.
At the moment, client and scene objects are being garbage collected as expected, at least in simple scenarios.
2011-06-10 20:40:14 +01:00
Justin Clark-Casey (justincc) 2bc8dcfdbd minor: add method doc to make it clear that click action is fired when the click action is changed, not when a prim is clicked 2011-06-10 02:27:45 +01:00
Diva Canto 80fc607d75 Fixed "Unknown User" listed as creator/owner on prims created with the Build button by foreign visitors. Added command to the UserManagementModule to list all the known bindings between user UUIDs and their names: show user-names. 2011-06-08 16:01:33 -07:00
Diva Canto 9759b2a4bb Added EventManager.OnPrimsLoaded, an event that modules can hook up onto so that they know when the scene's objects have been loaded from the DB. 2011-06-08 15:18:14 -07:00
Diva Canto 02b40670be This makes the display names work better for foreigners 2011-06-07 12:10:57 -07:00
Huaiyu (Kitty) Liu 7c542be833 When TaskInventory value is synced across, each receiver will also call
Inventory.ForceInventoryPersistence, so that PSA will see HasInventoryChanged
set to true and do proper persistence backup.

Also, added ScheduleSyncUpdate in UpdateInventoryItem, so that the new
TaskInventory item will be propagated to all actors.
2011-06-06 15:22:23 -07:00
Huaiyu (Kitty) Liu d28c857232 Added code to also propagate ScriptColliding and ScriptCollidingEnd events. 2011-06-06 11:39:22 -07:00
Huaiyu (Kitty) Liu 0319807820 Only ScriptCollidingStart is propogated from PE now. Code added to sync that event. 2011-06-04 15:09:41 -07:00
Justin Clark-Casey (justincc) fe471b6424 Extend TestGiveInventoryFolder() to test giving back the freshly received folder 2011-06-04 02:44:53 +01:00
Justin Clark-Casey (justincc) 12b1cbf8bf Fix give inventory tests to use different users rather than (accidentally) the same user. Extend TestGiveInventoryItem() to test giving back the same item. 2011-06-04 02:39:26 +01:00
Justin Clark-Casey (justincc) fe890554fb insert an InventoryArchiveUtils.FindItemsByPath() to return multiple items rather than just the first one 2011-06-04 01:37:01 +01:00
Justin Clark-Casey (justincc) 896f039513 create TestGetInventoryItem() 2011-06-04 00:51:49 +01:00
Justin Clark-Casey (justincc) 1543fd7fff extend TestGiveInventoryFolder() to check for the receipt by user 2 2011-06-04 00:20:54 +01:00
Justin Clark-Casey (justincc) d09210da86 minor: add in method print out to new test 2011-06-03 23:15:31 +01:00
Justin Clark-Casey (justincc) 527e10a04e add stub UserInventoryTests.GiveInventoryFolder(). Not yet complete 2011-06-03 23:13:05 +01:00
Huaiyu (Kitty) Liu 22f5f7962c Added code so that collision events are only forwarded from PSA to script engines. 2011-06-03 13:17:44 -07:00
Huaiyu (Kitty) Liu 8ab8969d82 Fixed the problem of non-recoganized localID in PhysicsCollision -- if it is 0,
it means it's land collision, not errors.
2011-06-03 12:06:58 -07:00
Huaiyu (Kitty) Liu 06d002cc3b On handling UpdatePrimProperties, if the properties updated are all in the terse-update
list, only trigger SOP.ScheduleTerseUpdate; otherwise, trigger ScheduleFullUpdate.
This is to prevent client managers to send big updates to clients, especially when a link-set
object moves around.
2011-06-03 11:35:37 -07:00
Diva Canto e33cedfd42 HG Landmarks now working. 2011-06-03 10:26:58 -07:00
Diva Canto 76c60f1f99 Moved CreateNewInventoryItem to the InventoryAccessModule in preparation for supporting HG landmarks. 2011-06-03 08:27:01 -07:00
Huaiyu (Kitty) Liu ee7b965bf9 Commented out debug messages for VolumnDetect sync and collisions.
Took out the warning message when reported collided SOP/SP is no
longer is local Scene.
2011-06-02 10:58:39 -07:00
Huaiyu (Kitty) Liu e2b6c5d199 Added a new RegionSyncMessage, AvatarTeleportSameRegion, for PSA to inform PE to
update avatar positon after teleporting within the same region, and the logic
to send/receive the message. Teleporting within the same region seems working now
with remote PE.
2011-06-01 11:34:42 -07:00
Huaiyu (Kitty) Liu 3c58a1c244 Merge branch 'dev' into dev_demo_debug 2011-06-01 10:06:42 -07:00
Dan Lake 3a582a4cec TEMP: commented out agent limits in scene as a workaround for DSG demos 2011-06-01 10:01:04 -07:00
Huaiyu (Kitty) Liu a17f0a0ea1 Fixed the problem that notecard updating was not propagated -- now syned
across actors, bit viewers may not always get the correct update.
2011-05-31 16:23:06 -07:00
BlueWall 3326e417b4 Merge branch 'master' of /home/opensim/src/opensim 2011-05-28 16:21:30 -04:00
BlueWall c7e18f9017 Adding an event to signal that logins are enabled
Added an event to signal the eabling of logins and added an alert to send to a configured service.
2011-05-28 16:20:10 -04:00
BlueWall d2c2a4301b Merge branch 'master' of /home/opensim/src/opensim 2011-05-28 00:39:21 -04:00
BlueWall 99f42c0a6e Add option to disable logins
This just covers script loading for now. More to come.
2011-05-28 00:35:06 -04:00
Huaiyu (Kitty) Liu 83e3a6a59a Added display of script compilation errors on ScriptEngine's concole (log),
as temp solution for getting the errors.
2011-05-27 14:43:04 -07:00
Justin Clark-Casey (justincc) e9988a3728 Make sure culture is en-US when saving archive related xml.
This might resolve http://opensimulator.org/mantis/view.php?id=5475
2011-05-27 21:19:20 +01:00
Justin Clark-Casey (justincc) 4e4db749eb If parsing fails in the primitive base shape (which prints out a debug log message), also print out the name and uuid of the part containing this shape.
This is to help in diagnosing parsing failures.
2011-05-27 20:59:35 +01:00
Huaiyu (Kitty) Liu 1cca4a978d In propagating PhysicsCollision event across actors, sending the list of UUIDs
of collision objects, instead of localIDs.
llVolumeDetect() now seems working, at least with integrated physics.
2011-05-26 14:54:03 -07:00
Huaiyu (Kitty) Liu c3c566cd24 Added synchronization of SOP property VolumnDetectActive, and proper actions following
its setting to true.
2011-05-26 14:15:23 -07:00
Huaiyu (Kitty) Liu 486497331c When Flags is updated on a prim, call UpdatePrimFlagsBySync to trigger appropriate
actions when flags are changed.
2011-05-26 12:17:17 -07:00
Huaiyu (Kitty) Liu d79a37e0ca Added reporting of LocalFlags property update in a few more spaces. 2011-05-25 16:27:32 -07:00
Melanie e398c33648 Add PayPrice to serialization format Xml2 2011-05-25 12:17:46 +01:00
Melanie 28c25d8477 Allow disabling the legacy backup mechanism to avoid the object clone if
backup is not used.
2011-05-24 04:03:51 +01:00
Melanie 178d541dca Add an event for an orderly region shutdown that fires once per region before
the SceneGraph is torn down.
2011-05-24 01:19:48 +01:00
Justin Clark-Casey (justincc) bb9b317f15 Get rid of OpenSim.Tests.Common.Setup subpackage in favour of just OpenSim.Tests.Common instead 2011-05-21 01:05:20 +01:00
Justin Clark-Casey (justincc) d7e5b76d73 refactor: rename AddSceneObjectItem to AddSceneObject 2011-05-21 00:39:42 +01:00
Justin Clark-Casey (justincc) 084059319c refactor: move scene object item creation code into TaskInventoryHelpers 2011-05-21 00:37:20 +01:00
Huaiyu (Kitty) Liu 41317dda8e Added AttachObjectBySync and calling it from AddNewSceneObjectBySync to
link avatar and attachments, and to update viewers properly.
2011-05-20 16:30:19 -07:00
Justin Clark-Casey (justincc) 9103fe84d5 move test task inventory notecard item creation into a new TastInventoryHelpers class 2011-05-21 00:25:58 +01:00
Justin Clark-Casey (justincc) 0050bb438c refactor: use SceneSetupHelpers.CreateSceneObject() 2011-05-21 00:15:22 +01:00
Justin Clark-Casey (justincc) 534ee52a12 rename UserProfileTestUtils to UserAccountHelpers to be consistent with other test helper names 2011-05-21 00:11:52 +01:00
Justin Clark-Casey (justincc) 3fed61a5d5 refactor: in TaskInventoryTests, use UserProfileTestUtils.CreateUserWithInvetory() 2011-05-21 00:07:24 +01:00
Justin Clark-Casey (justincc) 90567a9eaa refactor Scene.RezObject() to use AddNewSceneObject() rather than copy/pasting code with small differences 2011-05-21 00:02:53 +01:00
Justin Clark-Casey (justincc) f2095ea279 refactor TestRezObjectFromInventoryItem() 2011-05-20 23:45:39 +01:00
Justin Clark-Casey (justincc) 4b0fc4faef implement Scene.GetSceneObjectGroup(string name) to match the equivalent GetSOP method 2011-05-20 23:41:14 +01:00
Justin Clark-Casey (justincc) 91a9f30b16 implement Scene.GetSceneObjectGroup(UUID fullID) using existing index 2011-05-20 23:34:34 +01:00
Justin Clark-Casey (justincc) 7ed419217f add test for rezzing an object from a prim item 2011-05-20 23:22:27 +01:00
Huaiyu (Kitty) Liu f1800824eb Set ScenePresence.IsSyncedAvatar to true in right places, so that only the client manager
that has the client connection will trigger agent crossing.
2011-05-19 16:31:02 -07:00
Huaiyu (Kitty) Liu ef4caa2c75 Merge branch 'dev' into dev_attachment 2011-05-19 13:46:35 -07:00
Huaiyu (Kitty) Liu ab0630ed81 Fixed code in handling setting attachedAvatar when its UUID.Zero.
Removed some obselete and debug code.
2011-05-19 13:44:15 -07:00
Dan Lake 973d0fcdaa Prevent checking for border crossings for synced avatars. This causes border crossings to happen only on the client manager where the real client is connected and the result is synced to other actors. 2011-05-19 13:32:27 -07:00
Robert Adams b0173de7ec Add localID to prim and avatar physics creation calls 2011-05-19 12:10:53 -07:00
Robert Adams 83d67391f1 Fix physical actor update by passing additional attributes when physics terse update happens 2011-05-18 08:30:59 -07:00
Justin Clark-Casey (justincc) c562b9ef19 correct small mistake in "delete object name <name>" usage summary 2011-05-18 00:22:09 +01:00
Huaiyu (Kitty) Liu 2f7ecf359b Merge branch 'dev' into dev_attachment 2011-05-17 10:49:35 -07:00
Huaiyu (Kitty) Liu 0e1efc3250 Added some debug messages for avatar border crossing. 2011-05-17 10:33:58 -07:00
Dan Lake a0a8654c07 Fix check for vanilla opensim. Should not check for border crossing on non-CM actors. 2011-05-17 10:31:35 -07:00
Justin Clark-Casey (justincc) 784f70f704 don't throw a null reference if an inventory link target doesn't exist when we're inspecting in order to send the required inventory folders 2011-05-17 02:25:05 +01:00
Justin Clark-Casey (justincc) 5573fcfa93 Fix adding/removing/replacing outfits in viewer 2
To get this to work, I had to disable the dupe link check I put in a couple of commits ago.
When the viewer adds wearables to an existing outfit, it first requests deletes of all the existing links before creating a new set.
Since these messages are async, the creates were being received before the deletes had a chance to complete, resulting in missing current outfit links.
However, the dupe check shouldn't be as important now that broken links have been fixed - it was the broken links that were causing the client to create dupes.
Tested on kokua 0.1.0 WIP and SL 2.6.3.  I now have no problems managing outfits on my standalone.
2011-05-14 00:10:27 +01:00
Dan Lake cd6f261d11 Merge branch 'master' into dev 2011-05-13 15:59:40 -07:00
Justin Clark-Casey (justincc) 5f9edd195c Fix broken inventory links on viewer 2.
It appears that if the viewer requests a folder containing links, we must also send the folders that contain the link targets first.
This was tested with Kokua 0.1.0 WIP though I predict it will also work with other viewer 2s
2011-05-13 03:24:19 +01:00
Huaiyu (Kitty) Liu cf6c9e77a0 Removed old code in RegionSyncServer/Client that were used for object syncing in the asymmetric sync era. 2011-05-12 14:36:55 -07:00
Justin Clark-Casey (justincc) 9988bff9e3 Add a smidgen of method doc about the fact that item links reuse the asset id item slot 2011-05-12 03:18:53 +01:00
Justin Clark-Casey (justincc) ac12ace6f1 Prevent viewer 2 from creating a duplicate outfit inventory links.
I believe this is safe since there is a 1-1 correspondence between link item and worn item (i.e. you can't be wearing the same item at two spots simultaneously in one outfit).
This should stop lots of duplicate links being created when viewer 2 is used.
However, this doesn't prevent broken inventory links, which I believe is timing related since the effect is not consistent (e.g. keep relogging and the viewer should end up seeing them correctly) .  I think we actually see this problem on viewer 1 as well.
It might be easier just to implement the Fetch*2 inventory caps which are documented at http://wiki.secondlife.com/wiki/Inventory_API.  WebFetch* has been deprecated by Linden Lab since viewer 2.5.1 and according to the sl wiki, "has numerous bugs".
2011-05-12 02:46:13 +01:00
Huaiyu (Kitty) Liu ef66b29e95 Removed Bucket Sync code from SceneObjectPart. Bucket Sync should be gone now. 2011-05-11 16:42:38 -07:00