aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/OptionalModules/World/NPC/Tests (follow)
Commit message (Collapse)AuthorAgeFilesLines
* minor: Call down to base OpenSimTestCase.SetUp() in NPCModuleTests to ↵Justin Clark-Casey (justincc)2013-01-261-0/+2
| | | | disable any enabled logging from previous tests
* Consistenly make NUnit test cases inherit from OpenSimTestCase which ↵Justin Clark-Casey (justincc)2012-11-241-1/+1
| | | | automatically turns off any logging enabled between tests
* Fix memory leak where removing an NPC did not remove its circuits.Justin Clark-Casey (justincc)2012-10-291-0/+11
| | | | | | This was because we were removing by circuitcode where NPCs have no code. Now removing by agent ID instead. This commit also fixes the "show circuits" console command to work properly where the circuit has no associated IP address.
* Add OSSL function osForceAttachToAvatarFromInventory()Justin Clark-Casey (justincc)2012-07-051-2/+2
| | | | | | | This works like osForceAttachToAvatar() but allows an object to be directly specified from the script object's inventory rather than forcing it to be rezzed in the scene first. Still only attaches objects to the owner of the script. This allows one to bypass the complicated co-ordination of first rezzing objects in the scene before attaching them. Threat level high.
* remove default values from prior commit since mono cant deal with themdahlia2012-05-071-2/+2
|
* Add regression test for teleporting an agent between separated regions on ↵Justin Clark-Casey (justincc)2012-04-271-1/+1
| | | | | | | | the same simulator. This involves a large amount of change in test scene setup code to allow test scenes to share shared modules SetupScene is now an instance method that requires an instantiation of SceneHelpers, though other SceneHelpers methods are still static May split these out into separate classes in the future.
* Move frame loop entirely within Scene.Update() for better future performance ↵Justin Clark-Casey (justincc)2012-03-201-7/+5
| | | | | | | | analysis and stat accuracy. Update() now accepts a frames parameter which can control the number of frames updated. -1 will update until shutdown. The watchdog updating moves above the maintc recalculation for any required sleep since it should be accounted for within the frame.
* Simplify NPCModuleTests code by putting the NPCModule in an instance ↵Justin Clark-Casey (justincc)2012-03-061-61/+56
| | | | | | variable rather than making each test fetch it seperately. Also rename instance variables in the test to conform to naming standards and for understandability
* Go back to setting appearance directly in NPCModule.SetAppearance() to fix ↵Justin Clark-Casey (justincc)2012-03-061-1/+45
| | | | | | | | | | mantis 5914 The part reverted is from commit 2ebb421. Unfortunately, IAvatarFactoryModule.SetAppearance() does not transfer attachments. I'm not sure how to do this separately, unfortunately I'll need to leave it to Dan :) Regression test added for this case. Mantis ref: http://opensimulator.org/mantis/view.php?id=5914
* Add OS_NPC_SENSE_AS_AGENT option to osNpcCreate().Justin Clark-Casey (justincc)2012-01-281-6/+6
| | | | | This allows NPCs to be sensed as agents by LSL sensors rather than as a specific NPC type (which is currently an OpenSimulator-only extension). Wiki doc on this and other recent NPC functions will follow soon
* Add remove test for unowned avatarsJustin Clark-Casey (justincc)2012-01-121-0/+20
|
* Add osNpcCreateOwned to create an owned NPC. Those can be sensed only by the ↵Melanie2012-01-061-5/+5
| | | | owner, can be destroyed only by the owner and only the owner can save their appearance. Added "NPC" as a flag to llSensor to sense NPCs and exclude them from "AGENT" results.
* Cleaned up ScenePresence parameters for Flying, WasFlying, FlyingOld and ↵Dan Lake2011-12-121-1/+1
| | | | IsColliding
* Correct test failure in sit position check of TestSitAndStandWithNoTarget()Justin Clark-Casey (justincc)2011-11-071-1/+3
| | | | | | 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
* That such a trivial change can be so difficult to get right. Fix it this time.Melanie2011-11-071-1/+1
|
* Fix build breakMelanie2011-11-071-1/+1
|
* Fix up failing test to compensate for changed sit target offsetMelanie2011-11-061-2/+2
|
* Fix NPC sitting for prims without a sit target.Justin Clark-Casey (justincc)2011-11-051-2/+39
| | | | | | | | 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.
* refactor: rename some AssetHelpers.CreateAsset() methods to ↵Justin Clark-Casey (justincc)2011-10-221-1/+1
| | | | CreateNotecardAsset()
* Renamed and rearranged AvatarFactoryModule to eliminate redundant lookups of ↵Dan Lake2011-10-191-1/+1
| | | | scene presence by client ID.
* Implement osNpcStand(<npc-id>)Justin Clark-Casey (justincc)2011-10-171-2/+6
| | | | Allows you to stand an NPC that has sat.
* Implement osNpcSit(). This is still in development so don't trust itJustin Clark-Casey (justincc)2011-10-171-0/+24
| | | | | | | | | 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 :)
* Removed redundant code in AttachmentsModule and simplified interfaces which ↵Dan Lake2011-10-031-4/+2
| | | | converted back and forth between ScenePresence and IClientAPI. More to be done still.
* When calling osNpcMoveTo(), rotate the avatar in the direction of travel.Justin Clark-Casey (justincc)2011-09-211-4/+12
| | | | | | | 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
* Fix test failure. Oversight in setting up the tests themselves.Justin Clark-Casey (justincc)2011-09-081-1/+2
|
* Centralize module setup for NPC tests.Justin Clark-Casey (justincc)2011-09-081-41/+21
| | | | This is overkill for some tests since they dont' need all the modules, but I think the gain in code readability is worth it
* Remember to set and unset the fire and forget method at the top of the ↵Justin Clark-Casey (justincc)2011-09-081-2/+10
| | | | attachment and npc tests
* Use scene presence agent id for rezzed object ownership rather than item owner.Justin Clark-Casey (justincc)2011-09-081-0/+77
| | | | These should be identical. However, the item isn't available when rezzing npc attachments.
* Stop NPC's getting hypergrid like names in some circumstances.Justin Clark-Casey (justincc)2011-08-191-1/+5
| | | | | 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
* add regression test for osNpcCreate when cloning an in-region avatarJustin Clark-Casey (justincc)2011-08-111-5/+5
|
* Get NPCs to revert to the correct 'resting' animation (e.g. stand or hover) ↵Justin Clark-Casey (justincc)2011-08-111-0/+1
| | | | | | 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.
* Add a OS_NPC_LAND_AT_TARGET option to osMoveToTarget()Justin Clark-Casey (justincc)2011-08-101-2/+2
| | | | | | | 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
* early code to allow scripts to force npcs not to fly when moving to targetJustin Clark-Casey (justincc)2011-08-101-2/+2
| | | | | 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.
* Implement first draft functions for saving and loading NPC appearance from ↵Justin Clark-Casey (justincc)2011-08-091-1/+1
| | | | | | | | | | 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.
* refactor: Change SceneHelpers.AddClient() to AddScenePresence().Justin Clark-Casey (justincc)2011-08-061-2/+2
| | | | This seems to make more sense as we can get SP.ControllingClient
* rename TestHelper => TestHelpers for consistencyJustin Clark-Casey (justincc)2011-08-061-5/+5
|
* rename test SceneSetupHelpers -> SceneHelpers for consistencyJustin Clark-Casey (justincc)2011-08-061-6/+6
|
* When the NPC reaches within the SIGNIFICANT_CLIENT_MOVEMENT distance of the ↵Justin Clark-Casey (justincc)2011-08-041-0/+2
| | | | | | | 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
* extend npc move test to check a second movementJustin Clark-Casey (justincc)2011-08-041-2/+21
|
* remove move to duck walk compensation - no longer required.Justin Clark-Casey (justincc)2011-08-031-1/+5
| | | | extends npc move to regression test to check stop after sufficient sim updates
* rename NPC.Autopilot to NPC.MoveToTarget internally. Add method doc to ↵Justin Clark-Casey (justincc)2011-08-031-1/+1
| | | | INPCModule
* extend move test to check avatar is moving in the right direction after ↵Justin Clark-Casey (justincc)2011-08-031-0/+13
| | | | setting a move target
* extend move test to check one beat of the simulator without actually asking ↵Justin Clark-Casey (justincc)2011-08-031-1/+7
| | | | the npc to move.
* Add passing but incomplete NPC move regression testJustin Clark-Casey (justincc)2011-08-031-47/+25
|
* stop avatar service being set up in NPC TestCreate() - it's no longer usedJustin Clark-Casey (justincc)2011-08-031-6/+48
|
* enable the NPC module for its regression testJustin Clark-Casey (justincc)2011-08-031-0/+2
|
* Get osNpcCreate appearance working with avatars that are currently in the scene.Justin Clark-Casey (justincc)2011-08-011-2/+21
| | | | | | Had to stop using AvatarService for now since it doesn't store baked texture IDs (which is why this was failing). Also failing because cloning appearance was also cloning the AvatarApperance.Owner field, which we weren't then changing. Extended TestCreate() to check this.
* Create a very basic initial test which just creates an 'npc' and tests that ↵Justin Clark-Casey (justincc)2011-07-021-0/+71
the scene presence exists