Commit Graph

1473 Commits (80457111e0779f296080f4e26c6e56ac1263cba4)

Author SHA1 Message Date
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
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
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
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
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
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
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
Justin Clark-Casey (justincc) 8022400bd4 Remove unused Datastore parameter from RegionInfo (legacy from early 2008) 2011-03-31 22:16:09 +01: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
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
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
Justin Clark-Casey (justincc) b821f748ac For objects loaded from an IAR, make sure the CreatorID points towards the OSP resolved ID if newer CreationData is not present.
This should resolve issues where the creator for rezzed objects was being shown as "Unknown user" where previous behaviour was to show the OSP resolved account.
This is being done by parsing the serialized objects and updating the CreatorID if no CreationData exists.  This operation might be expensive for sculpties where the sculpt texture is inlined with the object data.  Will just have to see.
This relies on the IAR streaming inventory data before asset data (as is currently the case).  Will need to introduce more stringent checks for file order on loading (much like JAR zips must start with the manifest file).
This is for IAR loading only.  Tests updated to check this behaviour.
2011-03-10 21:56:15 +00:00
Justin Clark-Casey (justincc) 9456bb77fb Upgrade nunit.framework.dll to version 2.5.9. Fix up tests appropriately.
This version removes the NUnit.Framework.SyntaxHelpers namespace, so any modules with their own tests will need to delete this using statement.
2011-03-09 23:25:24 +00:00
Melanie cea47491de Fix a few little things 2011-02-27 19:49:23 +00:00
Justin Clark-Casey (justincc) 2b04cab1ee change some log messages from info to debug 2011-02-25 02:15:06 +00: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
Mic Bowman 5a16fa882c Parameterizes the view distance used to compute and manage
child agents in neighbor regions. This means you can extend
the view on a simulator beyond the default 3x3 regions.

This uses a region default draw distance and should be
replaced at some point by the avatar specified draw distance.
That will require more careful, dynamic recomputation of child
agents every time the draw distance changes.

WARNING: this is experimental and has known instabilities. specifically
all regions "within site" should be running the same default draw distance
or agents will not be closed correctly.
2011-02-22 13:23:54 -08:00
Justin Clark-Casey (justincc) 9e47018cfb Remove test T020_TestMakeRootAgent() which hasn't been active for ages anyway
This test was non-viable.  Keeping inactive T021_TestCrossToNewRegion() around for now since it's still useful for reference purposes in constructing a future working test.
2011-02-19 00:14:13 +00:00
Justin Clark-Casey (justincc) 60fe3d48ee Put some CapabilitiesModule null checks in Scene
Stop tests setting up a capabilities module by default
2011-02-18 23:50:54 +00:00
Justin Clark-Casey (justincc) 8249d77991 If GridService.GetNeighbours() could not find the region then log a warning rather than causing a null reference on the normal log line
This also extends the TestChildAgentEstablished() test to actually activate the EntityTransferModule, though the test is not yet viable
2011-02-18 23:25:59 +00:00
Justin Clark-Casey (justincc) dd9efc1838 extend TestChildAgentEstablished() test slightly to put in EntityTransferModule. Not yet enabled. 2011-02-18 23:05:56 +00:00
Justin Clark-Casey (justincc) eb699df5f6 On SceneSetupHelpers, go back to calling ScenePresence.CompleteMovement() for the last stage of AddRootAgent() instead of SP.MakeRootAgent()
Going this extra step doesn't appear to cause any test failures.
This is arguably better for test purposes, though at some stage another method may arise which does just call AddRootAgent().
2011-02-18 22:49:19 +00:00
Justin Clark-Casey (justincc) 023f953f39 remove another unused test teardown method 2011-02-18 22:25:45 +00:00
Justin Clark-Casey (justincc) c155f57dbe remove unused test teardown method 2011-02-18 22:22:51 +00:00
Justin Clark-Casey (justincc) c763edf56d separate attachment tests out into their own class 2011-02-18 22:20:08 +00:00
Justin Clark-Casey (justincc) 88da253c94 Add very basic test which invokes the scene update loop once and checks the frame number.
This makes Scene.Update() match its original description of performing a single update, which also matches the semantics of SOG and ScenePresence.
2011-02-18 21:54:44 +00:00
Justin Clark-Casey (justincc) e774679f62 minor: add method doc to a few ScenePresence methods 2011-02-18 21:19:16 +00:00
Justin Clark-Casey (justincc) 4725221435 Stop the avatar sometimes pausing for more than a second on the border when region crossing.
This restores a RemoveFromPhysicalScene() call in ScenePresence.CheckForBorderCrossing() when the agent has been placed in transit.
If we don't remove the agent from the physical scene, then the method continues to be called via ScenePresence.Update()
until the handover of the client between regions is completed.  Since this handover can take more than 1000ms (due to the 1000ms
event queue polling response from the server), this results in the avatar pausing on the border for the entire handover period.
2011-02-18 20:54:00 +00:00
Marck 4f9c3c73ad Add support for new naming syntax of linked regions to osTeleportAgent and osTeleportOwner. 2011-02-17 13:47:13 +01:00
Melanie 918c12c965 Change the QUERYACCESS method to eliminate spurious access denied messages 2011-02-16 08:06:11 +00:00
BlueWall c75e916ccf Set filter to send proper rotations for root part
This allows the root prim, alone or in a set, to send it's
	rotation. This fixes unsitting the avatar on sit-offsest
	type teleports where the sit target is in the root prim of
	a linkset.
2011-02-13 07:42:53 -08:00
Justin Clark-Casey (justincc) 7e21c1eadf Hack in a crude temporary "estate show" command
This will show the estate for each region, along with that estate's id and the estate owner.
This is temporary because the command output might change.
This commit also converts the estate module from the old to the new region module format
2011-02-12 00:46:01 +00:00
Diva Canto ac7bc78555 Added emergency monitoring of UDP Outgoing packets thread. Just type "emergency-monitoring on/off" 2011-02-08 12:06:14 -08:00
Diva Canto 98ea78fc77 New command: show pending-objects 2011-02-06 19:39:29 -08:00
Kevin Cozens 034327b51f Send object date to viewer in microseconds (Fixes mantis bug #3990) 2011-02-04 20:55:41 +00:00
Mic Bowman cf24069227 Change UpdateAgent (for changes in agent position) to be sent
once to each simulator rather than once to each region. This
should help with some of the delays caused by multiple outstanding
requests to a single service point.
2011-02-03 12:43:46 -08:00
Melanie e7d5ff9bd2 Create the structure of classes and interfaces to replace the cruft that
is in the land management module today
2011-01-29 02:24:27 +00:00
Melanie 5942385d0e Add the prim count interfaces 2011-01-28 23:21:41 +00:00
Melanie 188d86998d Fix up QueryAccess to also check parcels 2011-01-28 04:09:04 +00:00
Melanie d90b0c53ec Fix bumping into sim borders and check estate bans for walking crossings 2011-01-28 02:38:14 +00:00
Melanie 5a0cb7d37e Thank you, Goetz, for a patch to fix prim count display in cut regions. 2011-01-28 02:34:07 +00:00
Justin Clark-Casey (justincc) be3685b1a2 When an oar is loaded, do not create a default parcel before loading the parcels from the OAR.
The region spanning parcel shouldn't exist in this situation.  If it does, when the land data is loaded it is repersisted with a local ID which comes after the ones loaded via the oar, which obliterates the oar loaded one.

Resaving the data we just loaded from the database is somewhat odd in itself (though this makes sense from the way that OAR loading was already using the same event).
2011-01-27 20:36:50 +00:00
Justin Clark-Casey (justincc) 5a26dc2743 Fix OAR parcel loading so that old parcels are replaced by the new instead of merged.
The --merge switch will still merge the old and new land parcelling.
2011-01-27 18:48:48 +00:00
Melanie b0f641fa15 Make it work 2011-01-27 06:41:07 +00:00
Melanie 17801bd78b Add a TeleportFlags member to SP so we can tell how we got there. 2011-01-27 05:33:46 +00:00
Mic Bowman 2bab8e5538 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-01-26 13:35:21 -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
Justin Clark-Casey (justincc) 8eb2789ae1 Add some comments on ILandObject.StartPoint and EndPoint 2011-01-26 21:19:22 +00:00
Justin Clark-Casey (justincc) a0469daf75 Implement command "land show". This shows all the parcels on the currently selected region/s
This is useful for diagnostics.  The command is "land show" rather than "show land" because it's implemented as a module specific subcommand.
2011-01-26 21:12:41 +00:00
Melanie b91c99b596 Fix script data not being reset as it should be 2011-01-24 03:07:01 +00:00
Diva Canto a07375a7ae Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-01-17 17:41:06 -08:00
Diva Canto c98d1cffe2 Removed the call to sceneViewer.Reset upon MakeRoot and ChildAgentUpdate, because Reset hangs for a long time waiting for the lock. That is a problem in itself -- that long holding of the lock by some thread -- but let's just avoid it altogether. 2011-01-17 17:40:48 -08:00
Justin Clark-Casey (justincc) 3083c517a0 minor: resolve some mono compiler warnings 2011-01-18 00:29:10 +00:00
Justin Clark-Casey (justincc) c544f0d0c5 Prune some of the excess logging for client logins.
Didn't touch the appearance related stuff.
2011-01-18 00:25:24 +00:00
Diva Canto 4bcee1dfb4 Revert "DEBUG DEBUG DEBUG"
This reverts commit 59c2cd04ba.
2011-01-17 13:07:02 -08:00
Diva Canto 59c2cd04ba DEBUG DEBUG DEBUG 2011-01-17 12:35:19 -08:00
Melanie 30320077a2 Fix slam bits being lost when editing perms in prim inventory 2011-01-14 03:20:47 +00:00
Melanie 705f4e1e4b Dont' trust the viewer! Fix a permission slam error caused by trusting
the viewer too much.
2011-01-12 21:46:49 +00:00
Melanie 914e4b319e Fix direct item give permissions 2011-01-12 21:39:13 +00:00
Melanie 7cfe17b5b3 Partial permissions fix for boxed items. 2011-01-12 21:25:38 +00:00
Melanie dd154f7403 Fix god mode perms adjustment 2011-01-12 21:21:34 +00:00
Diva Canto eab0951a59 Fixes the issue of hung archives. Problem was with SceneObjectSerializer.
Also fixes a buglet in scene load xml command, where it was given the wrong argument index for filename.
2011-01-08 15:49:51 -08:00
Diva Canto a1c5de0f94 Try to fix a IAR problem reported by nebadon, where save iar seems stuck forever. 2011-01-07 12:32:47 -08:00
Diva Canto c18bcf3d8d A bit more frugal on the caller side of closing agents, now that the receiving end is async. No need for so much concurrency. 2011-01-07 10:25:49 -08:00
Diva Canto 5b43f9cac4 HG bug fix. Must wait for client's UDP contact before getting scene presence. 2011-01-06 12:47:13 -08:00
Diva Canto fbde9b1136 Note to self: try to make only 3 things at the same time. 2011-01-04 11:33:15 -08:00
Diva Canto db55859125 Guard against null Animator. 2011-01-04 11:30:08 -08:00
Melanie 5286198650 Add permissions hooks for object transfers 2011-01-03 19:42:58 +00:00