Commit Graph

775 Commits (36e6edfc65d2fa2b27d473234ee2d22c73cdc58a)

Author SHA1 Message Date
Justin Clark-Casey (justincc) b9a461c5ad In "appearance show", if a particular avatar is specified, print out texture UUID for each bake type and whether the simulator can find it. 2011-12-06 18:32:27 +00:00
Justin Clark-Casey (justincc) ec4f217af8 Actually send the avatar data if an individual avatar is specified, rather than accidentally doing nothing 2011-12-06 18:06:29 +00:00
Justin Clark-Casey (justincc) 1b9eb52850 Allow "appearance show" command to take an optional avatar name 2011-12-06 18:03:16 +00:00
Justin Clark-Casey (justincc) 4be85eeaa5 Make it possible to manually send appearance information via the "appearance send" command for a chosen avatar as well as all 2011-12-06 16:42:44 +00:00
Justin Clark-Casey (justincc) d33d12ba83 Provide feedback as to which avatars are resending appearance informion on "appearance send" console command 2011-12-06 16:07:24 +00:00
Justin Clark-Casey (justincc) af9ccfa15c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-05 20:50:44 +00:00
Justin Clark-Casey (justincc) 4567555c49 Implement IOSHttpRequest and IOSHttpResponse http interfaces and use instead of OSHttpRequest/OSHttpResponse.
This is required for the substitution of different HTTP servers or the newer HttpServer.dll without having to commit to a particular implementation.
This is also required to write regression tests that involve the HTTP layer.
If you need to recompile, all you need to do is replace OSHttpRequest/OSHttpResponse references with IOSHttpRequest/IOSHttpResponse.
2011-12-05 20:44:20 +00:00
Melanie bc17e2e9cf Merge branch 'master' into bigmerge 2011-12-05 20:32:35 +00:00
Melanie 66f4ce354f Fix CHANGED_TEXTURE and CHANGED_COLOR. 2011-12-05 19:01:14 +00:00
Melanie 2a8a46a32d Fix CHANGED_TEXTURE and CHANGED_COLOR. 2011-12-05 18:32:40 +01:00
Melanie ec8c93aa5e Implement ChangeInventoryItemFlagsPacket handling 2011-12-04 12:35:01 +01:00
Dan Lake 0cb33a5398 Line endings 2011-11-23 16:09:11 -08:00
Melanie a8270cb48c Merge branch 'master' into bigmerge 2011-11-24 01:16:37 +00:00
Justin Clark-Casey (justincc) d639f7fdf3 minor: remove mono compiler warning 2011-11-22 22:16:09 +00:00
Melanie a1426739a2 Merge branch 'master' into bigmerge 2011-11-10 17:35:35 +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 adbc69bb07 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs
2011-11-07 02:41:56 +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 69322b84ce Fix up failing test to compensate for changed sit target offset 2011-11-06 21:46:03 +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 2cf6172689 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-11-05 11:05:32 +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 24235006f4 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
	OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs
	OpenSim/Region/CoreModules/LightShare/LightShareModule.cs
	OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
2011-11-04 01:18:37 +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
Melanie 08fcf958c2 Port the Avination offline messaging system to Core 2011-11-02 23:50:47 +00:00
Melanie b69f679122 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
2011-11-01 23:54:09 +00:00
Justin Clark-Casey (justincc) 9456a540c5 Add "appearance send" command to allow manual sending of appearance. 2011-11-01 23:23:45 +00:00
Melanie b975cbcbed Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
	OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs
	OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs
	OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2011-10-27 18:14:38 +01:00
Dan Lake 272bf71279 Removed use of 'is' operator and casting to find the root ScenePresence in MessageTransfer modules and Groups module. 2011-10-27 02:26:37 -07:00
Dan Lake b98613091c Added new ForEachRootScenePresence to Scene since almost every delegate passed to ForEachScenePresence checks for !IsChildAgent first. It consolidates child and root handling for coming refactors. 2011-10-27 00:42:21 -07:00
Melanie fd22159d0c Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Framework/Watchdog.cs
2011-10-26 01:27:24 +01:00
Justin Clark-Casey (justincc) 8a0a78cbcc Make OpenSim.Framework.Servers.HttpServer rely on OpenSim.Framework instead of the other way around.
This is necessary so that code in HttpServer can use framework facilities such as the thread watchdog for monitoring purposes.
Doing this shuffle meant that MainServer was moved into OpenSim/Framework/Servers
Also had to make OpenSim.Framework.Console rely on OpenSim.Framework rather than the other way around since it in turn relies on HttpServer
MainConsole and some new interfaces had to be moved into OpenSim/Framework to allow this.  This can be reverted if parts of OpenSim.Framework stop relying on console presence (cheifly RegionInfo)
2011-10-25 20:24:21 +01:00
Melanie 56f3da7b5a Merge commit '9b3bbedeea5c6ea2421b36e5f0e23ab798870ba0' into bigmerge 2011-10-25 03:18:29 +01:00
Melanie 6d4480c1ca Merge commit '9c430208769ab7fd7877093e278e8fcae02ecef3' into bigmerge 2011-10-25 03:17:59 +01:00
Melanie 04678836c3 Merge commit 'da794f34a56f7c88904315ae538de8f3790e6891' into bigmerge 2011-10-25 03:16:47 +01:00
Melanie dc24ac4f20 Merge commit '120114e96becc6fee1311300359dcefaf4013c0e' into bigmerge 2011-10-25 02:54:34 +01:00
Melanie 496c647ab5 Merge commit 'de161585c0960a93911f446f0179441ba5470245' into bigmerge 2011-10-25 02:27:26 +01:00
Melanie e2de57ca29 Merge commit '0c041ce12f393367e2754e88d9b8dad5e45f88c4' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-10-25 02:26:56 +01:00
Melanie 2895789bd0 Merge commit 'aa19ccf65c9cd235e0ba941e9832c5240df4412c' into bigmerge 2011-10-25 01:51:24 +01:00
Justin Clark-Casey (justincc) 9b3bbedeea refactor: rename some AssetHelpers.CreateAsset() methods to CreateNotecardAsset() 2011-10-22 00:13:46 +01:00
Justin Clark-Casey (justincc) 9c43020876 Get OdeScene to use passed in time step rather than hard-coded 0.089
However, I still don't recommend changing MinFrameTime from 0.089, high values do not work well and lower values don't seem to make much difference
2011-10-20 20:48:51 +01:00
Dan Lake da794f34a5 Renamed and rearranged AvatarFactoryModule to eliminate redundant lookups of scene presence by client ID. 2011-10-19 14:41:44 -07:00
Justin Clark-Casey (justincc) 120114e96b refactor: Make IClientAPI.DebugPacketFormat a property rather than a setter without a getter 2011-10-17 20:50:29 +01:00
Justin Clark-Casey (justincc) de161585c0 Implement osNpcStand(<npc-id>)
Allows you to stand an NPC that has sat.
2011-10-17 01:56:25 +01:00
Justin Clark-Casey (justincc) 0c041ce12f Implement osNpcSit(). This is still in development so don't trust it
Format is osNpcSit(<npc-uuid>, <target-uuid>, OS_NPC_SIT_IMMEDIATE)
e.g. osNpcSit(npc, llGetKey(), OS_NPC_SIT_IMMEDIATE);
At the moment, sit only succeeds if the part has a sit target set.
NPC immediately sits on the target even if miles away - they do not walk up to it.
This method is in development - it may change so please don't trust it yet.
Standing will follow shortly since that's kind of important once you're sitting :)
2011-10-17 01:42:31 +01:00
Justin Clark-Casey (justincc) aa19ccf65c refactor: rename IClientAPI.SendPrimUpdate() to SendEntityUpdate() since it sends entity updates (including presence ones), not just prims. 2011-10-14 01:45:46 +01:00
Melanie ca74088d94 Change default groups messaging module in hardcode to the empty string.
Modules should not assume thet they are the one and only, but only be
enabled when explicitly configured.
2011-10-12 09:21:46 +01:00
Melanie d2dc2316c2 Merge branch 'master' into bigmerge 2011-10-12 09:26:35 +01:00
Melanie 9733b64dc8 Merge commit 'bd9ba904c3e4d9c2c626a7749f19f124b4ddcf15' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-10-12 02:02:46 +01:00
Melanie f5e78ca616 Merge commit '146322eb34c15a5722cfe42dd012821ddf441fe6' into bigmerge
Conflicts:
	OpenSim/Region/OptionalModules/World/TreePopulator/TreePopulatorModule.cs
2011-10-12 01:31:34 +01:00
Melanie a9af618842 Merge commit '460946ad62b682c7a942751f192ca9e96b662f0e' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2011-10-11 23:32:16 +01:00
Melanie 652c59c0a9 Merge commit 'd358125cac4e01194dae4b1f0bc9afc87e463f76' into bigmerge 2011-10-11 22:42:18 +01:00
Melanie 2e47d24832 Merge commit '241e07d006fad1b54e088d8a9ddede0b98a1e800' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2011-10-11 22:41:51 +01:00
Melanie 6101de2316 Merge commit '8159fd7110459246ff61a41800899f5d854eceee' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-10-11 22:32:10 +01:00
Dan Lake 146322eb34 Removed redundant IClientAPI calls from TreePopulatorModule. Removing tree objects already triggers objectkill packet to client. No need to send again. 2011-10-04 16:59:05 -07:00
Dan Lake 460946ad62 Removed redundant code in AttachmentsModule and simplified interfaces which converted back and forth between ScenePresence and IClientAPI. More to be done still. 2011-10-03 16:44:32 -07:00
Justin Clark-Casey (justincc) d358125cac Reinstate option to land an npc when it reaches a target.
This is moved into ScenePresence for now as a general facility
2011-09-22 00:16:05 +01:00
Justin Clark-Casey (justincc) 241e07d006 Move code which handles NPC movement into Scene so that this can also be used by Autopilot coming from the client side.
I thought that I had implemented this but must have accidentally removed it.
Adds a regression test to detect if this happens again.
Temporarily disables automatic landing of NPC at a target.  Will be fixed presently.
2011-09-21 23:56:11 +01:00
Justin Clark-Casey (justincc) 8159fd7110 When calling osNpcMoveTo(), rotate the avatar in the direction of travel.
This stops the npc walking backwards if the target is directly behind.
This means that the npc no longer returns to its original rotation once movement has finished.
If you want this behaviour, please store and reset the original rotation after movement.
This is somewhat to address http://opensimulator.org/mantis/view.php?id=5678
2011-09-21 19:28:41 +01:00
Tom 5484c9b585 Bring us up to date. 2011-09-14 19:11:32 -07:00
Justin Clark-Casey (justincc) f5eace6781 Fix test failure. Oversight in setting up the tests themselves. 2011-09-08 21:54:40 +01:00
Justin Clark-Casey (justincc) 9615292133 Centralize module setup for NPC tests.
This is overkill for some tests since they dont' need all the modules, but I think the gain in code readability is worth it
2011-09-08 21:06:10 +01:00
Justin Clark-Casey (justincc) 96a3b68086 Remember to set and unset the fire and forget method at the top of the attachment and npc tests 2011-09-08 20:59:52 +01:00
Justin Clark-Casey (justincc) bd5d2cb043 Use scene presence agent id for rezzed object ownership rather than item owner.
These should be identical.  However, the item isn't available when rezzing npc attachments.
2011-09-08 20:51:52 +01:00
Tom 03f6734f43 First set of merge fixes 2011-09-07 09:42:18 -07:00
Tom 66dec3b874 Resolve merge commits, stage 1 2011-09-04 07:06:36 -07:00
Justin Clark-Casey (justincc) 7eca929686 Eliminate pointless checks of SOG.RootPart != null
It's never possible for SOG to have no RootPart, except in the first few picosends of the big bang when it's pulled from region persistence or deserialized
2011-09-01 02:11:00 +01:00
Justin Clark-Casey (justincc) 7d58b5fa15 move common code into AttachmentsModule.DeleteAttachmentsFromScene() 2011-08-31 17:53:58 +01:00
Justin Clark-Casey (justincc) 32444d98cb Make SP.Attachments available as sp.GetAttachments() instead.
The approach here, as in other parts of OpenSim, is to return a copy of the list rather than the attachments list itself
This prevents callers from forgetting to lock the list when they read it, as was happening in various parts of the codebase.
It also improves liveness.
This might improve attachment anomolies when performing region crossings.
2011-08-31 16:29:51 +01:00
Justin Clark-Casey (justincc) 04bafd2122 refactor: Move ScenePresence.RezAttachments() into AttachmentsModule
This adds an incomplete IScenePresence to match ISceneEntity
2011-08-30 23:06:10 +01:00
Mic Bowman 384cb79a1a Merge branch 'master' into bulletsim
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneManager.cs
2011-08-19 14:49:16 -07:00
Justin Clark-Casey (justincc) c9e6b7bd10 Stop NPC's getting hypergrid like names in some circumstances.
This meant punching in another AddUser() method in IUserManagement to do a direct name to UUID associated without the account check (since NPCs don't have accounts).
May address http://opensimulator.org/mantis/view.php?id=5645
2011-08-19 00:45:22 +01:00
Robert Adams fef73a1a10 BulletSim: add runtime setting of physics parameters. Update default values. 2011-08-18 14:32:09 -07:00
Justin Clark-Casey (justincc) c1a34cd8da Don't try to save changed attachment states when an NPC with attachments is removed from the scene.
This is done by introducing a PresenceType enum into ScenePresence which currently has two values, User and Npc.
This seems better than a SaveAttachments flag in terms of code comprehension, though I'm still slightly uneasy about introducing these semantics to core objects
2011-08-18 00:53:05 +01:00
Justin Clark-Casey (justincc) acfdca34fd Fix issue where loading a new appearance onto an NPC would not remove the previous attachments from the scene.
Addresses http://opensimulator.org/mantis/view.php?id=5636
2011-08-17 01:35:33 +01:00
BlueWall 0784791a44 Add "shutdown" message to RegionReady
Add "shutdown" message when removing region.
	From a patch submitted by Michelle Argus.
	Thanks Michelle
2011-08-15 16:21:04 -04:00
Justin Clark-Casey (justincc) 4b88f04c0a minor: On "login disable/enable" always tell the user the final login status, rather than remaining silent if it was already on/off 2011-08-12 22:46:42 +01:00
Justin Clark-Casey (justincc) 2169cf04f9 When saving appearance, only save the baked textures, not the other face textures (which are already stored permanently) 2011-08-12 01:24:15 +01:00
Justin Clark-Casey (justincc) 65c4b8d37b Fix kicking of NPCs via "kick user" console command.
Needed to hook up the Close() function in the NPCAvatar IClientAPI implementation, which [unfortunately] is still needed
2011-08-12 00:51:05 +01:00
Justin Clark-Casey (justincc) 50945dd560 add regression test for osNpcCreate when cloning an in-region avatar 2011-08-11 21:43:26 +01:00
Justin Clark-Casey (justincc) 1aa1711893 eliminate the rotation parameter from SP.HandleMoveToTargetUpdate(). This can just use the currently set Rotation
looks like I spoke to soon about eliminating jerkiness on "go here"/autopilot.  It's still there.
2011-08-11 03:06:38 +01:00
Justin Clark-Casey (justincc) 36f7d36fa1 instead of setting avatar rotation twice in SP.HandleAgentUpdate(), eliminate the second setting in AddNewMovement() 2011-08-11 02:54:15 +01:00
Justin Clark-Casey (justincc) 4402851b08 Get NPCs to revert to the correct 'resting' animation (e.g. stand or hover) after finishing their movement. This also fixes judder after an avatar has finished "go here"/autopilot movement in a viewer.
This meant reseting the SP.AgentControlFlags since the Animator uses these to determine the correct default animation.
2011-08-11 01:56:42 +01:00
Justin Clark-Casey (justincc) 7f499ff3f3 Add a OS_NPC_LAND_AT_TARGET option to osMoveToTarget()
Default for this function is now not to automatically land.
This allows better control by scripts when an avatar is going to be landing on a prim rather than the ground.
Stopping the avatar involves faking a collision, to avoid the pid controller making it overshoot.
A better approach would be to gradually slow the avatar as we near the target
2011-08-10 23:56:19 +01:00
Justin Clark-Casey (justincc) 5d6c9644fa early code to allow scripts to force npcs not to fly when moving to target
this is to allow walking on prims.  it will be up to the script writer to be sure that there is a continuous path.
currently implemented in osNpcMoveToTarget(), but none of this is final.
2011-08-10 01:47:37 +01:00
Justin Clark-Casey (justincc) 4cb8d6379d Stop trying to deregister caps or close child agents when an NPC is removed 2011-08-10 00:59:31 +01:00
Justin Clark-Casey (justincc) 195c1dc9b8 implement osNpcStopMoveTo() to cancel any current move target 2011-08-10 00:26:38 +01:00
Justin Clark-Casey (justincc) cba54090c7 When an NPC appearance is loaded, rez the attachments too 2011-08-09 23:25:52 +01:00
Justin Clark-Casey (justincc) 92e96d394a When an NPC is created, stop telling neighbouring regions to expect a child agent 2011-08-09 23:11:07 +01:00
Justin Clark-Casey (justincc) e869eeb0bf Implement first draft functions for saving and loading NPC appearance from storage.
This works by serializing and deserializing NPC AvatarAppearance to a notecard in the prim inventory and making the required baked textures permanent.
By using notecards, we avoid lots of awkward, technical and user-unfriendly issues concerning retaining asset references and creating a new asset type.
Notecards also allow different appearances to be swapped and manipulated easily.
This also allows stored NPC appearances to work transparently with OARs/IARs since the UUID scan will pick up and store the necessary references from the notecard text.
This works in my basic test but is not at all ready for user use or bug reporting yet.
2011-08-09 03:51:34 +01:00
Justin Clark-Casey (justincc) 85e07c78fb refactor: Change SceneHelpers.AddClient() to AddScenePresence().
This seems to make more sense as we can get SP.ControllingClient
2011-08-06 02:17:41 +01:00
Justin Clark-Casey (justincc) dad1d6df18 rename TestHelper => TestHelpers for consistency 2011-08-06 00:31:03 +01:00
Justin Clark-Casey (justincc) bda1a4be45 rename test SceneSetupHelpers -> SceneHelpers for consistency 2011-08-06 00:26:37 +01:00
Justin Clark-Casey (justincc) 1918402cb1 if an NPC target is set to a ground location, then automatically land them when they get there.
This doesn't help where the target is a prim surface.  In these situations, it might be better to provide manual overrides so the script can control whethre an avatar flys there/lands, etc.
2011-08-04 03:08:35 +01:00
Justin Clark-Casey (justincc) 54ce029342 if an NPC move to target is above the terrain then make it fly to destination 2011-08-04 02:31:40 +01:00
Justin Clark-Casey (justincc) 61a931490d move bAllowUpdateMoveToPosition switch outside of HandleMoveToTargetUpdate() 2011-08-04 01:30:37 +01:00
Justin Clark-Casey (justincc) 7b2b47530e move reset code out of HandleMoveToTargetUpdate() so that we only call it where needed instead of passing in a flag 2011-08-04 01:16:24 +01:00