Commit Graph

15104 Commits (ee22569c9262277467df9a4b15674a1472fa0b71)

Author SHA1 Message Date
Justin Clark-Casey (justincc) ee22569c92 only accept npc UUIDs to osNpc* functions, not names (except for create) 2011-08-11 02:19:13 +01:00
Justin Clark-Casey (justincc) cace6eaa8a comment out some of the currently less useful debug log messages 2011-08-11 02:06:32 +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) 951ffad81e If SP.MoveToTarget has been called with a force walk, begin by landing the avatar.
There is a bug here - once an avatar has landed it glides to its new position instead of performing a walk animation
2011-08-11 00:23:54 +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) fb92678b83 fly and no fly constants for osNpcMoveToTarget() 2011-08-10 22:34:42 +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) 795c8e6c22 Add osOwnerSaveAppearance() to help with setting up NPC appearances. Not yet ready for user use.
Adds regression test.
2011-08-09 22:05:47 +01:00
Justin Clark-Casey (justincc) 57cc180fd5 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-08-09 03:52:31 +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
Snoopy Pfeffer 916d1b7511 Merge branch 'master' of ssh://snoopy@opensimulator.org/var/git/opensim 2011-08-09 01:14:53 +02:00
Justin Clark-Casey (justincc) 3e16a0fbdd factor out common notecard caching code from 3 methods. 2011-08-09 00:12:41 +01:00
Snoopy Pfeffer 1677587532 Let's see if I am really a core developer, now. ;) 2011-08-09 01:11:39 +02:00
Justin Clark-Casey (justincc) 78d8ce3816 refactor: split out generic parts of osMakeNotecard() into a separate. Add method doc. Other minor tidies. 2011-08-08 23:22:47 +01:00
Justin Clark-Casey (justincc) 6878049952 get rid of bogus log message 2011-08-06 03:06:05 +01:00
Justin Clark-Casey (justincc) eec54adac5 remove some obsolete tests that are now done elsewhere 2011-08-06 02:38:38 +01:00
Justin Clark-Casey (justincc) e37f8cf902 Add a test to check that ScenePresence and circuit go away when a root agent is closed down 2011-08-06 02:27:25 +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) 83ba35a26b rip out sog generation methods in ScenePresenceAgentTests and use SceneHelpers instead
Not that it matters, since these tests are pretty bogus anyway.
Also, renames some test classes for consistency.
2011-08-06 02:01:25 +01:00
Justin Clark-Casey (justincc) 2b26d2f1a5 prevent "create region" console command from being able to create a region with the same id as one that already exists.
Addresses http://opensimulator.org/mantis/view.php?id=5617
2011-08-06 01:35:01 +01:00
Justin Clark-Casey (justincc) 76f46b2545 Do proper locking of m_localScenes list in SceneManager 2011-08-06 01:15:49 +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) cba40de109 extend phantom flag regression test to toggle back off 2011-08-06 00:22:14 +01:00
Justin Clark-Casey (justincc) c6c91e6599 refactor: Fold most SOP.ScriptSet* methods back into script code. Simplify. 2011-08-06 00:13:08 +01:00
Justin Clark-Casey (justincc) ba89fc3aa1 Add regression test for setting phantom status on a scene object. This is not yet complete. 2011-08-05 23:42:05 +01:00
Justin Clark-Casey (justincc) f18780d0e3 Get "show region" command in GridService to show grid co-ordinates rather than meters co-ord.
This makes it consistent with "show regions"
Addresses http://opensimulator.org/mantis/view.php?id=5619
2011-08-05 22:56:53 +01:00
Justin Clark-Casey (justincc) 7d35bf8193 refactor: remove a sliver of unnecessary code 2011-08-05 22:45:42 +01:00
Justin Clark-Casey (justincc) 1a2518d19b Instead of moving the file to its final place when FlotsamCache writes to disk, copy it instead.
This is to eliminate IOException where two threads compete to cache the same file.
2011-08-05 19:57:47 +01:00
Justin Clark-Casey (justincc) 94d496cf2b remove the largely unused copy/pasted HandleAgentRequestSit() method 2011-08-05 00:57:43 +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) f999acd095 minor: remove some mono compiler warnings 2011-08-04 01:46:34 +01:00
Justin Clark-Casey (justincc) c678b75d65 if a move to target is set underground, constrain it to the terrain height 2011-08-04 01:45:56 +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) 831f933ce6 only call move target code in SP.HandleAgentUpdate() if we're actually in the process of moving to a position 2011-08-04 01:22:01 +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
Justin Clark-Casey (justincc) fc64cc2439 Make SIGNIFICANT_MOVEMENT SP constant a top-level property so that other classes can use it. 2011-08-04 01:05:43 +01:00
Justin Clark-Casey (justincc) 7f6f100c5a When the NPC reaches within the SIGNIFICANT_CLIENT_MOVEMENT distance of the target, move it directly to the target.
This makes the movement exact.  Regression test changed to check avatar reaches exact target.
Also has the nice side effect of making NPC animations continue to work after the first movement (which wasn't working).  However, avatar still pauses in mid-stride
2011-08-04 01:00:33 +01:00
Justin Clark-Casey (justincc) ba0c65e028 extend npc move test to check a second movement 2011-08-04 00:25:51 +01:00
Justin Clark-Casey (justincc) 6f913e8caf eliminate pre-existing unused SP.StopMovement() 2011-08-04 00:13:27 +01:00
Justin Clark-Casey (justincc) a2f5b4ac9a Rename HandleMoveToPositionUpdate() to HandleMoveToTargetUpdate() for consistency. Improve method doc. 2011-08-04 00:10:53 +01:00
Justin Clark-Casey (justincc) 0299cb060e eliminate a reset position flag by using functionally equivalent DCFlagKeyPressed 2011-08-04 00:06:01 +01:00
Justin Clark-Casey (justincc) 6ab01b338f Stop calling the SP.ResetMoveToTarget() code if a target is not actually set 2011-08-03 23:59:13 +01:00
Justin Clark-Casey (justincc) 31fb6b2d72 remove move to duck walk compensation - no longer required.
extends npc move to regression test to check stop after sufficient sim updates
2011-08-03 23:40:05 +01:00
Justin Clark-Casey (justincc) 61d49d4f63 rename NPC.Autopilot to NPC.MoveToTarget internally. Add method doc to INPCModule 2011-08-03 23:20:36 +01:00