aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/OptionalModules/World/NPC (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add back parts of reverted changes that were not concerned with child agent ↵Justin Clark-Casey (justincc)2012-03-291-1/+1
| | | | | | | caching. This adds ScenePresence to IClientAPI.SceneAgent earlier on in the add client process so that its information is available to EventManager.OnNewClient() and OnClientLogin() Also add a code comment as to why we're caching friend information for child agents.
* Revert "Simplify friends caching by only doing this for root agents - no ↵Justin Clark-Casey (justincc)2012-03-291-1/+1
| | | | | | | | functions require caching for child agents." We need to cache child agents so that friends object edit/delete permissions will work across boarders on regions hosted by different simulators. This reverts commit d9f7b8549b3cb9699eb8bd54242d31aac0f8241a.
* Simplify friends caching by only doing this for root agents - no functions ↵Justin Clark-Casey (justincc)2012-03-281-1/+1
| | | | | | | | require caching for child agents. This allows us to avoid unnecessary multiple calls to the friends service. All friends functions originate from the root agent and only go to other root agents in existing code. This also allows us to eliminate complex ref counting.
* Instead of loading default avatar animations in both SLUtil and ↵Justin Clark-Casey (justincc)2012-03-211-5/+0
| | | | | | | | AvatarAnimations, load just in AvatarAnimations instead. This lets us remove the dependency of OpenSim.Framework.dll on data/avataranimations.xml, which is not necessary for ROBUST. This commit also takes care of the odd situation where animations are stored and used internally with uppercase names (e.g. "STAND") but scripts refer to them with lowercase names (e.g. "sit").
* 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.
* Factor out common default animations code into SLUtil. LLClientView now ↵Justin Clark-Casey (justincc)2012-03-091-34/+2
| | | | | | makes use of the SLUtil copy via a method rather than each LLClientView loading a separate copy. As per opensim-users mailing list discussion.
* fix for NPC not playing internal animationssatguru srivastava2012-03-091-1/+36
|
* 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-062-9/+57
| | | | | | | | | | 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
* Fix some logic mistakes where firstly osNpcCreate() without options was ↵Justin Clark-Casey (justincc)2012-02-161-2/+2
| | | | | | creating npcs sensed as agents and secondly the OS_NPC_SENSE_AS_AGENT option was having the opposite effect. Hopefully makes progress on addressing http://opensimulator.org/mantis/view.php?id=5872
* Refactor appearance saving for NPC to use AvatarFactoryModule interface.Dan Lake2012-02-141-6/+6
|
* If NPCModule.CreateNPC() fails to create the required ScenePresence (which ↵Justin Clark-Casey (justincc)2012-02-091-8/+7
| | | | should in theory never happen), don't add the NPC to the npc list but return UUID.Zero instead.
* minor: put in commented out logging statements for future reuseJustin Clark-Casey (justincc)2012-02-091-0/+3
|
* Merge branch 'master' of /home/opensim/src/opensimBlueWall2012-02-031-1/+1
|\
| * Fix: Covenant changed time not set ↵PixelTomsen2012-02-031-1/+1
| | | | | | | | | | | | http://opensimulator.org/mantis/view.php?id=5869 Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
* | Extend m_avatars lock in NpcModule.CreateNPC over both creation of NPC scene ↵Justin Clark-Casey (justincc)2012-02-031-14/+16
|/ | | | | | | | presence and population of m_avatars. This is required to stop a race where the SensorRepeat module can detect an NPC avatar before m_avatars is populated. Extending the lock is the easiest to understand solution rather than getting complicated with null checks. Hopefully resolves http://opensimulator.org/mantis/view.php?id=5872
* Replace ParcelAccessEntry with a new struct, LandAccessEntry, which moreMelanie2012-02-021-1/+1
| | | | | | accurately reflects the data sent by the viewer. Add times bans and the expiration of timed bans. Warning: Contains a Migration (and nuts)
* Add OS_NPC_SENSE_AS_AGENT option to osNpcCreate().Justin Clark-Casey (justincc)2012-01-283-10/+32
| | | | | 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
* Telehub Support:BlueWall2012-01-201-0/+5
| | | | Support for viewer side of telehub management. Can manupulate Telehubs and SpawnPoints from the viewer estate managemnt tools. This is a work in progress and does not yet persist or affect teleport routing.
* Add remove test for unowned avatarsJustin Clark-Casey (justincc)2012-01-121-0/+20
|
* Add permissions checks for owned avatars to all other osNpc* functions.Justin Clark-Casey (justincc)2012-01-121-4/+1
| | | | This is being done outside the npc module since the check is meaningless for region module callers, who can fake any id that they like.
* refactor: Move existing npc owner checks to NPCModule.CheckPermissions() ↵Justin Clark-Casey (justincc)2012-01-121-13/+36
| | | | methods and expose on interface for external calls.
* Add osNpcCreateOwned to create an owned NPC. Those can be sensed only by the ↵Melanie2012-01-063-11/+36
| | | | 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
* Implement handler for TeleportCancel inbound packetMelanie2011-12-101-0/+1
|
* On a new client circuit, send the initial reply ack to let the client know ↵Justin Clark-Casey (justincc)2011-12-081-1/+4
| | | | | | | | | it's live before sending other data. This means that avatar/appearance data of other avatars and scene objects for a client will be sent after the ack rather than possibly before. This may stop some avatars appearing grey on login. This introduces a new OpenSim.Framework.ISceneAgent to accompany the existing OpenSim.Framework.ISceneObject and ISceneEntity This allows IClientAPI to handle this as it can't reference OpenSim.Region.Framework.Interfaces
* 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
|
* Convert SendKillObject to take a list of uint rather than sending oneMelanie2011-11-061-1/+1
| | | | packet per prim. More to come as we change to make use of this.
* Fix NPC sitting for prims without a sit target.Justin Clark-Casey (justincc)2011-11-052-3/+40
| | | | | | | | 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-192-2/+2
| | | | scene presence by client ID.
* refactor: Make IClientAPI.DebugPacketFormat a property rather than a setter ↵Justin Clark-Casey (justincc)2011-10-171-3/+1
| | | | without a getter
* Implement osNpcStand(<npc-id>)Justin Clark-Casey (justincc)2011-10-172-2/+23
| | | | 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-172-0/+42
| | | | | | | | | 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 :)
* refactor: rename IClientAPI.SendPrimUpdate() to SendEntityUpdate() since it ↵Justin Clark-Casey (justincc)2011-10-141-1/+1
| | | | sends entity updates (including presence ones), not just prims.
* 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.
* Reinstate option to land an npc when it reaches a target.Justin Clark-Casey (justincc)2011-09-222-75/+4
| | | | This is moved into ScenePresence for now as a general facility
* Move code which handles NPC movement into Scene so that this can also be ↵Justin Clark-Casey (justincc)2011-09-211-1/+1
| | | | | | | | 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.
* 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.
* move common code into AttachmentsModule.DeleteAttachmentsFromScene()Justin Clark-Casey (justincc)2011-08-311-5/+1
|
* Make SP.Attachments available as sp.GetAttachments() instead.Justin Clark-Casey (justincc)2011-08-311-7/+3
| | | | | | | 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.
* refactor: Move ScenePresence.RezAttachments() into AttachmentsModuleJustin Clark-Casey (justincc)2011-08-301-1/+1
| | | | This adds an incomplete IScenePresence to match ISceneEntity
* 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