Commit Graph

13321 Commits (e33b0fa35bf6bef47849c82b1ef1f5f81420217e)

Author SHA1 Message Date
Justin Clark-Casey (justincc) 89632f3ea8 Add test for removing a friendship. 2011-11-14 20:56:56 +00:00
Dan Lake ed19284d85 Merge branch 'remove-scene-viewer' 2011-11-14 12:37:48 -08:00
Justin Clark-Casey (justincc) e5ff7f389b Improved method doc for AddFriend() - it actually does set up a two-way relationship.
Rename IFriendsModule.AddFriend() to AddFriendship()
2011-11-14 20:31:16 +00:00
Justin Clark-Casey (justincc) a64def8b73 minor: remove some mono compiler warnings 2011-11-14 18:16:14 +00:00
Justin Clark-Casey (justincc) 348d15707d Add test for adding a friend whilst online 2011-11-14 18:08:02 +00:00
Justin Clark-Casey (justincc) de895ee54a Add very simple FriendsModuleTests.TestNoFriends() 2011-11-14 17:18:51 +00:00
Justin Clark-Casey (justincc) ff36a1bc7b If a friends identifier which is too short is given to HGFriendsModule.GetOnlineFriends() then spit out a warning rather than failing on the String.Substring().
This is to progress http://opensimulator.org/mantis/view.php?id=5789
2011-11-14 16:06:06 +00:00
Justin Clark-Casey (justincc) 49ec85ae15 Do a ScenePresence null check in HGMessageTransferModule.SendIMToScene() to stop a NullReferenceException being thrown if an HG IM is sent to a simulator running multiple regions
This is an attempt to address http://opensimulator.org/mantis/view.php?id=5791
2011-11-14 15:24:02 +00:00
Dan Lake 5fd1749150 Remove SceneViewer from ScenePresence to reduce quadruple queueing of
prim update to only triple queuing. Existing method was:
1. Schedule prim for update, adding to scene update list
2. Update on SOGs during heartbeat queues update onto each SceneViewer
3. Update on SPs during heartbeat queues update onto each IClientAPI
4. ProcessEntityUpdates queues updates into UDP send stack

Now the SceneViewer has been eliminated so updates are scheduled at any
time and then put onto the IClientAPI priority queues immediately during
SceneGraph.UpdateObjectGroups.
2011-11-11 17:16:52 -08:00
Justin Clark-Casey (justincc) e61ea79c72 doh - correct build break 2011-11-12 00:27:43 +00:00
Justin Clark-Casey (justincc) f130e1a86f Add threads to the watchdog thread list before we start them.
Hopefully this wil make "WATCHDOG: Asked to update thread ## which is not being monitored" messages." go away.
2011-11-12 00:24:45 +00:00
Justin Clark-Casey (justincc) 25c32061e4 Make log messages on authentication failure more explicit 2011-11-11 23:45:08 +00:00
Justin Clark-Casey (justincc) 6adaf1be74 extract common ScenePresence setup code into Init() method for ScenePresenceSitTests 2011-11-11 23:36:35 +00:00
Justin Clark-Casey (justincc) 84ad23234b add SP.PhysicsActor checks to other sit/stand tests 2011-11-11 23:33:55 +00:00
Justin Clark-Casey (justincc) acaf6937c5 add sit and stand on ground test 2011-11-11 23:32:43 +00:00
Justin Clark-Casey (justincc) a3052e40ad extract ground sit code into SP.HandleAgentSitOnGround() for consistency with other sitting code. 2011-11-11 23:28:32 +00:00
Justin Clark-Casey (justincc) 6ce3daff94 Pick up the intended ConsolePrompt from [Startup] instead of console_prompt.
Addresses http://opensimulator.org/mantis/view.php?id=5786
2011-11-11 23:15:53 +00:00
Justin Clark-Casey (justincc) 2a2cdaa211 As with prim sitting avatars, make an avatar phantom when it sits on the ground and solid again when it stands.
This is to avoid http://opensimulator.org/mantis/view.php?id=5783 when a collision with a ground sitting avatar causes that avatar to automatically stand and sometimes not be able to move
A better solution may be to keep gound sitting avatars solid but remove their collision status.  However, this requires some physics code work.
2011-11-11 23:10:43 +00:00
Justin Clark-Casey (justincc) ce8441132e Restore sending of OutPacket() for object kills removed in commit c7dd7b1.
OutPacket() must be called within the m_killRecord lock.  Otherwise the following event sequence is possible
1) LLClientView.ProcessEntityUpdates() passes the kill record check for a particular part suspends before OutPacket()
2) Another thread calls LLClientView.SendKillObject() to delete the same part and modifies the kill record
3) The same thread places the kill packet on the Task queue.
4) The earlier thread resumes and places the update packet on the Task queue after the kill packet.
This results in a ghost part in the sim that only goes away after client relog.
This commit also removes the unnecessary m_entityUpdates.SyncRoot locking in SendKillObject.
2011-11-11 22:37:57 +00:00
Justin Clark-Casey (justincc) 2a7f4e0602 remove unncessary IClientAPI parameter from SP.SendSitResponse() 2011-11-11 21:53:00 +00:00
Justin Clark-Casey (justincc) b1cb4f5b04 As per mailing list last week, remove facility that would automatically move the avatar if prim with no sit target was out of sitting range.
Now, no movement occurs.
Note that you can still sit on a prim with an explicit sit target from any distance, as was the case before.
2011-11-11 21:42:58 +00:00
Justin Clark-Casey (justincc) a658bddbcd Bump warp sit distance up to 10 meters, as discussed on opensim-dev mailing list last week.
This means that if the avatar is within 10 meters of the selected target, it sits on it immediately without walking.
Existing autopilot outside this range will be disabled in a later commit
2011-11-11 19:59:12 +00:00
Justin Clark-Casey (justincc) 8f4955f6a9 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-11 19:40:31 +00:00
Justin Clark-Casey (justincc) dc200d7bb5 Add new ScenePresenceSitTests with a single sit/stand test 2011-11-11 19:38:36 +00:00
Dan Lake 10e664eedc Fix compile error from an earlier commit 2011-11-10 17:37:33 -08:00
Dan Lake 7432ca6daf Merge branch 'master' of git://opensimulator.org/git/opensim 2011-11-10 17:21:49 -08:00
Dan Lake 96c59156a7 In SOP, replaced many references to private members with the public properties 2011-11-10 17:21:37 -08:00
Melanie a5838cf0a6 Prevent linking objects while they are deeded. On unlinking deeded objects,
set LastOwnerID properly so the parts cannot be transferred, circumventing
no trans perms
2011-11-11 00:28:12 +00:00
Melanie 2bd4eaeb19 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-11-10 23:43:29 +00:00
Melanie 0daece6f2b Fix turn left and turn right properly. Works for both built-ins and LSL AOs 2011-11-10 23:42:48 +00:00
Dan Lake 8fbaa10ade Merge branch 'master' of git://opensimulator.org/git/opensim 2011-11-10 15:23:16 -08:00
Dan Lake 9359293b11 Cleaned UpdatePermissions calls on SOP and SOG to eliminate redundant properties packet sends and so one part is not telling a different part what to do. That should be up to the SOG to manage permissions on its parts and notify clients when one of them changes. 2011-11-10 15:20:21 -08:00
Melanie f5abae5ac6 Implement nudging support for strafing motion 2011-11-10 23:03:05 +00:00
Justin Clark-Casey (justincc) c0d280d948 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-10 22:58:24 +00:00
Justin Clark-Casey (justincc) 2d4ac6288d Alter commit 3758306 to allow region name to be substituted within a region console prompt
This is to allow broader subsitution in the future.  Currently, the only substitions are \R (for region name) and \\ (for a single backslash)
e.g. "Region (\R) " is the current and continuing default prompt
This renames custom_prompt in [Startup] to ConsolePrompt
2011-11-10 22:56:13 +00:00
Dan Lake f3fea81936 Merge branch 'master' of git://opensimulator.org/git/opensim 2011-11-10 14:09:53 -08:00
Dan Lake 18c625bda6 When updating SOG, a physics taint should not override a full update with a terse update 2011-11-10 14:09:35 -08:00
Justin Clark-Casey (justincc) b990914ec4 convert tabs from commit 3758306 to spaces 2011-11-10 21:04:12 +00:00
Melanie 444b345cdf Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-11-10 20:54:44 +00:00
Melanie 48d2300b8a Fix misaligned sit animation on scripted sit caused by the default sit
animation being run after the scripted one.
2011-11-10 20:54:15 +00:00
Justin Clark-Casey (justincc) 9cba179dff launch pCampbot shutdown console comand asynchronously 2011-11-10 20:03:36 +00:00
Justin Clark-Casey (justincc) f31a58bd99 Remove unused index parameter from BotManager.startupBot(). Rename startupBot() => StartBot() 2011-11-10 19:40:45 +00:00
GuduleLapointe 37583063ee Allow custom setting for the console prompt
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-11-10 06:56:32 -05:00
Justin Clark-Casey (justincc) 4f6915bad5 minor: Correct misleading method doc on SOG.UpdateRootRotation() 2011-11-09 21:49:08 +00:00
Justin Clark-Casey (justincc) bbab7b6b4d Use IsConnected status to determine whether all pCampBots have disconnected, rather than maintaining a separate count
Checking IsConnected is more reliable.
2011-11-09 21:23:23 +00:00
Justin Clark-Casey (justincc) 674b521fdd In pCampBot, don't try and pull down Primitive faces or sculpts set to null 2011-11-09 20:21:48 +00:00
Justin Clark-Casey (justincc) 7e488cd635 Remove unused avariable in PollServiceRequestManager 2011-11-07 23:24:13 +00:00
Justin Clark-Casey (justincc) 39b967e214 Correct test failure in sit position check of TestSitAndStandWithNoTarget()
Curiously, a Vector3.ToString() will not display the last two places of the float.  In this case, the failure of
the assertion would confusingly report Expected: <0, 0, 0.8454993> But was:  <0, 0, 0.8454993> when actual Z figure is 0.845499337
Should fully address http://opensimulator.org/mantis/view.php?id=5779
2011-11-07 22:53:52 +00:00
Melanie 6d92d65140 That such a trivial change can be so difficult to get right. Fix it this time. 2011-11-07 02:40:35 +00:00
Melanie e775b3fc47 Fix build break 2011-11-07 02:03:17 +00:00
Melanie 67780b00f0 Fix up failing test to compensate for changed sit target offset 2011-11-06 21:47:12 +00:00
Melanie 559e6e52f5 Make the AsyncSceneObjectDeleter send a list of kills. This will make large
marquee-selected deletions of single prims or small link sets nearly
instantaneous
2011-11-06 20:43:49 +00:00
Melanie c7dd7b13a2 Convert SendKillObject to take a list of uint rather than sending one
packet per prim. More to come as we change to make use of this.
2011-11-06 20:38:07 +00:00
Melanie fa992a020c Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-11-06 20:00:47 +00:00
Melanie 0bf757e42b Allow HG and other scene presences not linked to a user account to function. 2011-11-06 20:00:03 +00:00
Snoopy Pfeffer 927561383e HUD attachments: Removes some more messages sent to wrong clients. 2011-11-06 17:43:39 +01:00
Snoopy Pfeffer dfbfc9826a Damaged assets, especially appearance textures, could crash the region server with a fatal exception.
Now, such excpetions are caught by an exception handler and just an error message is shown.
This was the kind of exception causing these fatal server crashes:

  APPLICATION EXCEPTION DETECTED: System.UnhandledExceptionEventArgs^M
  ^M
  Exception: System.ArgumentOutOfRangeException: Argument is out of range.
  Parameter name: offset exceeds the size of buffer
    at System.Net.Sockets.NetworkStream.BeginRead (System.Byte[] buffer, Int32 offset, Int32 size, System.AsyncCallback callback, System.Object state) [0x00000] in <filename unknown>:0
    at HttpServer.HttpClientContext.OnReceive (IAsyncResult ar) [0x00000] in <filename unknown>:0 ^M
  ^M
  Application is terminating: True^M
2011-11-06 15:05:19 +01:00
Melanie bd10d14bbd Fix build break 2011-11-05 23:12:00 +00:00
Melanie bbbcdaa462 Remove spammy autopilot debug 2011-11-05 22:54:47 +00:00
Melanie 01b6a4b62e Remove some left over debug and reverse experimental reordering of ifs 2011-11-05 22:46:45 +00:00
Melanie 4d3926694d Remove enableprejump config option and associated code as this is now
fully functional and cannot be disabled because that would break timings.
2011-11-05 22:43:45 +00:00
Melanie 71388fc02a Porting the ScenePresenceAnimator from Avination. Jump and fall anims now work
properly.
2011-11-05 22:41:00 +00:00
Melanie ac3254a5f5 Change puvlic m_ variable to a getter property 2011-11-05 21:43:35 +00:00
Melanie 2dc452b4a7 ScenePresence part of the Avination animator fixes. 2011-11-05 21:41:16 +00:00
Melanie b6df9e9fe4 Chnaging the sit target adjustment to a more precise approximation of SL. Some small
fixes ported from Avination. Some white space fixes.
2011-11-05 21:24:36 +00:00
nebadon e182cc198d Fix avatar height, removes the hip offset hack
Author: Mana Janus <mana@mjm-labs.com>
2011-11-05 02:56:52 -07:00
nebadon 4797ed6edd Multiple lines in welcome message use '\n' in the welcome message to
start a new line.
2011-11-05 02:42:21 -07:00
nebadon e3885625a0 Don't rotate child prims, if only the root prim is rotated. 2011-11-05 02:26:25 -07:00
Justin Clark-Casey (justincc) cfce2529ad refactor: In sit code, compare against Vector3.Zero and Quaternion.Identity instead of individual components of a vector/quat 2011-11-05 02:04:48 +00:00
Justin Clark-Casey (justincc) 8105794121 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-05 01:42:20 +00:00
Justin Clark-Casey (justincc) 28c4dc9be4 Fix NPC sitting for prims without a sit target.
This is to partially address http://opensimulator.org/mantis/view.php?id=5769
We don't need to call SP.HandleAgentSit() again if we are within 10m since the autopilot won't trigger.
By calling it twice, the position of the sitting NPC was wrongly adjusted, ending up near <0,0,0>.
However, this change does mean that NPCs further than 10m away will not attempt to autopilot to the prim, though this code was broken anyway (is actually a different mechanism to normal NPC movmeent).
Hopefully this can be addressed soon.
2011-11-05 01:38:42 +00:00
Melanie b199aad037 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-11-05 00:11:10 +00:00
Melanie c803ed28c3 Replacing te linking code with the code from Avination. Link sets prims are now
numbered properly even when sets are linked to sets.
2011-11-05 00:09:37 +00:00
Justin Clark-Casey (justincc) f7b8c54c24 Add comment for experimental effect of removing the Thread.Sleep(20) in ODEPrim.changevelocity() 2011-11-04 23:43:17 +00:00
Justin Clark-Casey (justincc) d7815ace4a On standup, trigger the changed link script event after the avatar has been fully changed.
This was meant to help with the script in http://opensimulator.org/mantis/view.php?id=5772 but it doesn't work.
Probably the event is fired before the physics actor has been set up again for the stood avatar.
Fixing that would be much more complicated, but processing the event last of all seems like a good idea in any case.
2011-11-04 23:24:22 +00:00
Justin Clark-Casey (justincc) ccca6ba935 Stop llPushObject() from causing problems by adding force via a taint rather than directly.
This isn't a perfect solution since there can be a race between the taint processing and taint setting, as force needs to be reset after processing.
Needs careful locking in the future.
2011-11-04 23:12:01 +00:00
Dan Lake b8d50b10fb Rename ForEachAvatar back to ForEachScenePresence. The other changes
from previous commit which sort out which iterator is used are left
intact. A discussion is needed as to what constitutes an avatar vs a
ScenePresence.
2011-11-03 17:53:51 -07:00
Dan Lake 94dc7d07eb Renamed ForEachRootScenePresence to ForEachAvatar. Cleaned up calls to
the 3 iteration functions so more of them are using the correct
iteration for the action they are performing. The 3 iterators that seem
to fit all actions within OpenSim at this time are:

ForEachAvatar: Perform an action on all avatars (root presences)
ForEachClient: Perform an action on all clients (root or child clients)
ForEachRootClient: Perform an action on all clients that have an avatar

There are still a dozen places or so calling the old
ForEachScenePresence that will take a little more refactoring to
eliminate.
2011-11-03 17:06:08 -07:00
Justin Clark-Casey (justincc) 69a4057135 remove the pointless check of the face texture struct against null in Bot.Objects_NewPrim() 2011-11-03 22:52:14 +00:00
Justin Clark-Casey (justincc) e4bdf1e78f actually remove the sleep from PhysicsBehaviour that I shifted to Bot a couple of commits ago 2011-11-03 22:50:40 +00:00
Justin Clark-Casey (justincc) f26fdbd8da Rename PhysicsBot => Bot since it doesn't just exercise physics anymore 2011-11-03 22:39:06 +00:00
Justin Clark-Casey (justincc) ca2c25ece2 Move one of the old physics sleeps out into the main bot loop, so leaving out PhysicsBehaviour doesn't result in continuous other behaviours 2011-11-03 22:35:21 +00:00
Justin Clark-Casey (justincc) 5a67940acc Add click/grab behaviour to pCampbot, which gets bots to randomly click things.
This can be specified on pCampbot.exe by using g in the list of behaviours for the new -behaviours,-b switch
e.g. -b p,g to get both existing physics and grabbing behaviours.
grabbing is primitive, it attempts grabs on random prims whether they're actually signalled as clickable or not.
behaviour is currently primitive overall, behaviours are just executed in a list
2011-11-03 22:31:31 +00:00
Justin Clark-Casey (justincc) 3ea379e4cd Move PhysicsBehaviour into a spearate behaviours folder 2011-11-03 21:25:27 +00:00
Justin Clark-Casey (justincc) 66c60c56a0 Separate out physics testing actions into a separate PhysicsBehaviour class 2011-11-03 21:16:24 +00:00
Justin Clark-Casey (justincc) a62ccb5c4c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-03 20:12:10 +00:00
Mic Bowman 40a1eddfd1 Drop the CopyTo parameter from Int32.MaxValue to 4096. This is a buffer size
not a target size. Mono 2.10 appears to try to allocate the full buffer which
immediately crashes. Tested on mono 2.6.7 and 2.10.5
2011-11-02 18:55:54 -07:00
Melanie 6b4ae4f30c Revert "fix CopyTo call that was breaking under mono 2.10"
This reverts commit d30971fdc2.
2011-11-03 00:23:32 +00:00
Mic Bowman 99a347ee11 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-02 17:11:10 -07:00
Mic Bowman d30971fdc2 fix CopyTo call that was breaking under mono 2.10 2011-11-02 17:10:59 -07:00
Melanie e746840226 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-11-02 23:51:48 +00:00
Melanie 08fcf958c2 Port the Avination offline messaging system to Core 2011-11-02 23:50:47 +00:00
Dan Lake a724ebacd7 Merge branch 'master' of git://opensimulator.org/git/opensim 2011-11-02 14:59:34 -07:00
Dan Lake e2c51a977d Changes UpdateFlag in SOP to an enumeration of NONE, TERSE and FULL.
UpdateFlag is now referenced/used only within SOP and SOG. Outsiders are
using ScheduleFullUpdate, ScheduleTerseUpdate or ClearUpdateSchedule on
SOP consistently now. Also started working toward eliminating those
calls to ScheduleFullUpdate, ScheduleTerseUpdate or ClearUpdateSchedule
from outside SOP in favor of just setting properties on SOP and let SOP
decide if an update should be scheduled. This consolidates the update
policy within SOP and the client rather than everywhere that makes
changes to SOP. Some places forget to call update while others call it
multiple times, "just to be sure".

UpdateFlag and Schedule*Update will both be made private shortly.

UpdateFlag is intended to be transient and internal to SOP so it has
been removed from XML serializer for SOPs.
2011-11-02 14:59:00 -07:00
Justin Clark-Casey (justincc) 59232a6ea8 Change default say distance to 20m from 30m, the same as on the big grid. This is to improve the migration of scripts that expect a 20m say distance.
If you want to keep a 30m say distance then please set this as the say_distance parameter in the [Chat] section of OpenSim.ini.
2011-11-02 20:05:31 +00:00
Justin Clark-Casey (justincc) 72923134e9 Get some hopefully more useful exception information when OpenJPEG.EncodeFromImage() fails in VectorRender and DynamicTexture modules 2011-11-02 18:40:49 +00:00
Justin Clark-Casey (justincc) 03993d0b14 Fix race condition that would sometimes send or save appearance for the wrong avatar.
In AvatarFactoryModule.HandleAppearanceUpdateTimer(), we loop through appearance save and send requests and dispatch via a FireAndForget thread.
If there was more than one request in the save or send queue, then this led to a subtle race condition where the foreach loop would load in the next KeyValuePair before the thread was dispatched.
This gave the thread the wrong avatar ID, leaving some avatar appearance cloudy since appearance data was never sent.
This change loads the fields into local references so that this doesn't happen.
2011-11-02 18:25:03 +00:00
Justin Clark-Casey (justincc) b6873a7b5d Catch any exceptions exiting the top of the robust console, as we already do for the main simulator.
This prevents issues such as transient mono console problems from crashing the server.
2011-11-02 13:16:02 +00:00
Melanie c5fb39e21f Restore the recursive calling of PRIM_LINK_TARGET because the version I made
breaks LINK_SET et al.
2011-11-02 12:09:18 +00:00
Melanie 1b9ae3fb51 Some positioning fixes from AVN trunk 2011-11-02 12:02:44 +00:00