Commit Graph

19337 Commits (4d2203ff5298ffe40902ce018c1be1b4096c936d)

Author SHA1 Message Date
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
Robert Adams 6a9630d2bd BulletSim: fix race condition when creating very large mega-regions.
The symptom was exceptions while creating physical terrain.
Reduce default terrain mesh magnification to 2 from 3 because the
higher resolution uses a lot of memory and doesn't solve the terrain
smoothness for vehicles.
Added comments here and there and improved some debugging log messages.
2013-03-28 10:59:18 -07:00
Robert Adams 3f9b274180 BulletSim: tweaks to terrain boundry computation. No functional changes. 2013-03-28 10:59:16 -07:00
Justin Clark-Casey (justincc) 9ca54d00d8 Add back a log message when we attempt a megaregion auto-reteleport 2013-03-28 02:29:34 +00:00
Justin Clark-Casey (justincc) afd0d6af07 minor: Only try to deregister stats in EntityTransferModule.RemoveRegion() if module was enabled. 2013-03-28 02:23:09 +00:00
Justin Clark-Casey (justincc) d9c049fd9f Fix a bug in HGEntityTransferModule to call base.RemoveRegion() when a region is removed rather than base.AddRegion() 2013-03-28 02:20:43 +00:00
Justin Clark-Casey (justincc) b05ed4ffa6 Instead of going via GodLikeRequestTeleport, auto-teleport the agent directly in a megaregion, in the same manner at the "teleport user" console command.
This is to bypass an issue with the HGLureModule which stops the auto-teleport from happening.
2013-03-28 02:17:32 +00:00
Justin Clark-Casey (justincc) 506d5e41bf On the North and East sides of a megaregion, only consider regions within 256m to be neighbours rather than regions up to 512 distant.
This looks like an off-by-one bug since the view distance was already only 256 on the west and south sides.
This reduces the number of child agents being logged into regions neighbouring a megaregion.
2013-03-28 01:54:11 +00:00
Justin Clark-Casey (justincc) 617637c788 minor: Fix usage error message for "debug eq" console command 2013-03-28 01:41:41 +00:00
Justin Clark-Casey (justincc) b5b01e5bb5 Make HGLureModule track god like lures as well as normal lures, to see if this fixes issues where second megaregion auto-teleport hangs on black teleport screen when HG is active. 2013-03-28 01:37:52 +00:00
Justin Clark-Casey (justincc) 876d0d310f Add "show eq" console command to show numbers of messages in agent event queues.
For debugging purposes.
2013-03-28 01:36:34 +00:00
Justin Clark-Casey (justincc) f32027f3b5 Remove some Console.WriteLines accidentally left in last commit cfb20f09 2013-03-28 01:08:47 +00:00
Justin Clark-Casey (justincc) cfb20f09a9 refactor: combine the checks for megaregion view range into a single place. 2013-03-28 00:57:43 +00:00
Justin Clark-Casey (justincc) dd7d7683c9 Fix problem with megaregions where teleporting into a different region which already had a child agent would stop the eq working for the agent in the new region.
This was because the calculation as to whether a new agent was needed in the receiving region did not take megaregions into account,
unlike the original calculation when the user first teleported into the region.
This meant that on teleport, entity transfer would create a new CAP but this would be ignored by the viewer and receiving region, meaning that the EQ could no longer be used.
This would prevent subsequent teleport, amongst other things.
Currently, regions up to 512m from a megaregion are considered neighbours.
2013-03-28 00:12:48 +00:00
Justin Clark-Casey (justincc) da5dbaf1d0 Add admin_get_agents xmlrpc method.
This allows one to retrieve information about agents from a particular region (name, id, position, etc.)
Similar to output from "show users"
See http://opensimulator.org/wiki/Remoteadmin:admin_get_agents for more details
2013-03-26 23:02:13 +00:00
Justin Clark-Casey (justincc) 3072f257f5 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-03-26 23:00:51 +00:00
Robert Adams abde0d4efb BulletSim: prevent asset fetching loop when the fetched asset fails to mesh.
Check for the case where the fetched mesh asset fails meshing (degenerate
triangles or no physical mesh). In this case, the asset is marked 'failed'
and BulletSim doesn't keep trying to fetch over-and-over trying to get a
good asset.
2013-03-26 15:02:10 -07:00
Justin Clark-Casey (justincc) 13170ca627 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-03-26 20:32:22 +00:00
Justin Clark-Casey (justincc) 3f0f313a76 Make llGetLinkPrimitiveParams() and llGetPrimitiveParams() work for avatars in a linkset.
llGetPrimitiveParams() works through PRIM_LINK_TARGET
Setting via llSetLinkPrimitiveParams(), etc. not yet implemented
2013-03-26 20:25:58 +00:00
Melanie e82fab34d7 Implement a pref to turn on the simulator ExportSupported feature entry.
This tells the viewer to enable the UI for export permissions.
WARNING: If your inventory store contains invalid flags data, this will result
in items becoming exportable! Don't turn this on in production until it's complete!
2013-03-26 19:00:30 +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
Robert Adams 285dc554ec BulletSim: new algorithm for vertical attraction which uses quaternion
arithmetic to compute the shortest path between the current tilt
and vertical.
2013-03-25 15:40:46 -07:00
Robert Adams c96a6f1de6 BulletSim: small tweaks and formatting in the parameter fetching code. 2013-03-25 15:40:44 -07:00
Robert Adams 953090fd62 BulletSim: fix possible race condition where an prim's asset can be requested quicker than the asset fetcher returns and thus falsely reporting that an asset was not fetched and defaulting the assset to a bounding box. 2013-03-25 15:40:43 -07:00
Robert Adams f783b9169f BulletSim: parameterize C# HACD hull creation. Add feature of reducing max hull count for simple (non-cut prims) meshes. 2013-03-25 15:40:41 -07:00
Justin Clark-Casey (justincc) 128c72a234 Start recording inter-region teleport attempts, aborts, cancels and failures in statistics for monitoring/debugging purposes
These are recorded as 'entitytransfer' stats as seen by the "show stats entitytransfer" console command.
2013-03-25 21:53:27 +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) c4d9a23f26 Following on from 476a7d3e (which wasn't enough), make chat across regions on different simulators work.
Also resolves an issue of multiple chatting if the originating simulators had more than one region and they were neighbours
2013-03-22 01:43:18 +00:00
Justin Clark-Casey (justincc) 1f17ef6d3c Take out a testing sleep I accidentally left in the teleport code from last commit 7471bc7 2013-03-22 01:06:56 +00:00
Justin Clark-Casey (justincc) 7471bc7775 At strategic points in the teleport process, if the client has simultaneously logged out then do not continue.
This aims to reduce any side effects if the process tries to complete after the client has logged back in (e.g. it was delayed due to a slow destination region response).
This introduces a new Aborting entity transfer state which signals that the teleport should be stopped but no compensating actions performed.
2013-03-22 01:00:13 +00:00
Justin Clark-Casey (justincc) 476a7d3eee Implement chat across region borders since we can tell if avatars in neighbouring regions are in range. 2013-03-22 00:03:10 +00:00
Justin Clark-Casey (justincc) e23a0dcc5d minor: On teleport, signal a child agent before we send the viewer TeleportFinish in order to avoid a theoretical race condition when teleporting to a neighbour.
If we do this after TeleportFinish, then it's possible for a neighbour destination to request the source to create a child agent whilst its still treated as root.
This closes the original presence which we don't really want to do.
This is probably okay (albeit with warnings on the console) but afaics there's no reason not to move the child agent signal.
2013-03-21 23:37:23 +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) 16af5b87f8 Add file missing from last commit 36651be 2013-03-20 23:08:35 +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) c0ff5635ba Fix "show attachments" command probably broken in commit addab12 (Wed Jan 2 21:38:00 2013)
This break was not connected with the recent attachment code changes.
2013-03-20 02:00:56 +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
Justin Clark-Casey (justincc) 9151b9d233 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-03-20 01:36:28 +00:00
Robert Adams 90b9121e66 BulletSim: change 'degenerate mesh' message from Error to Debug because there
seem to be lots of sculpties with this problem while the condition really doesn't
change region operation.
2013-03-19 17:15:24 -07:00
Justin Clark-Casey (justincc) 3648164219 Prevent multiple instances of the same item ID being appended to an AvatarAppearance
It looks like this was happening when AttachmentsModule.RezAttachments was doing a secondary set of each attachment to update with the asset ID (initially they only have the inventory ID).
However, with multi-attach this was appending a second copy of the same attachment rather than updating the data that was already there.
This commit requires both simulator and service to be updated.
2013-03-19 21:49:29 +00:00
Robert Adams c2e4f8aed5 For the moment, disable the output of the 'scene' statistics in SimExtraStatsCollector
and thus for the command 'show stats' because it is ugly and most of the information
is already output in the formatted printout that appears before.
2013-03-19 12:37:44 -07:00
Robert Adams 1dd2d432f1 For those people collecting and comparing logfiles from servers scattered
around the world, change LogWriter to use DateTime.UtcNow rather than
DateTime.Now.
2013-03-19 11:40:10 -07:00
Robert Adams 8360223fed BulletSim: code to generate a higher resolution terrain mesh. Parameter
TerrainMeshMagnification controls number of vertices generated per
heightmap point. Default is 3.
2013-03-19 00:00:03 -07:00
Robert Adams 8510f57ad4 BulletSim: add terrain contact processing threshold parameter. Initialize contact processing threshold for static object as well as mesh terrain. 2013-03-19 00:00:02 -07:00
Justin Clark-Casey (justincc) 397379cd3f Process default attachment point in AttachObjectInternal before we check whether a worn object needs to displace an existing attachment on the same point if we are not using multi-attach. 2013-03-19 00:39:58 +00:00
Melanie 55ab6f015a Fix tests for multiattach 2013-03-18 23:48:03 +00:00