Justin Clark-Casey (justincc)
728fd0b1b8
lock attachments when enumerating through them in ScenePresence.CopyTo().
...
May have some effect on http://opensimulator.org/mantis/view.php?id=5644
2011-09-10 01:09:17 +01:00
Justin Clark-Casey (justincc)
9c32b131fd
Add extra log information when attachments fail validation
2011-09-10 00:57:52 +01:00
Justin Clark-Casey (justincc)
cf73afec35
Try disabling the inconsistent attachment state check to see if this actually has an impact.
...
The code in question is over three years old and just be catching an inconsistency rather than being wholly necessary.
This commit still carries out the check and prints all the previous log warnings but a 'failure' no longer prevents avatar region crossing or teleport, and it doesn't give the client the error message.
This will have some kind of impact on http://opensimulator.org/mantis/view.php?id=5672
2011-09-05 23:42:37 +01:00
Justin Clark-Casey (justincc)
5c1fa968ab
Stop NPCs losing attachments when the source avatar takes them off.
...
This was happening because we were using the source avatar's item IDs in the clone appearance.
Switch to using the asset IDs of attachments instead for NPCs.
The InventoryAccessModule and AttachmentModule had to be changed to allow rezzing of an object without an associated inventory item.
Hopefully goes some way towards resolving http://opensimulator.org/mantis/view.php?id=5653
2011-09-03 01:11:16 +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)
e69f246b86
refactor: move multiple class to set avatar height into associated SP.AddToPhysicalScene()
2011-08-31 17:25:18 +01:00
Justin Clark-Casey (justincc)
899d109e82
get rid of appearance null checks - this is never null
2011-08-31 17:13:53 +01:00
Justin Clark-Casey (justincc)
54839d28ad
remove pointless m_attachments == null check since this field is never null
2011-08-31 16:46:43 +01:00
Justin Clark-Casey (justincc)
5a5206449f
minor: seal up another instance of using the appearance list without locking
2011-08-31 16:41: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)
1809aaf74c
minor: remove already processed avatar null check in Scene.RemoveClient()
...
remove some now duplicated method doc
2011-08-30 23:36:45 +01:00
Justin Clark-Casey (justincc)
ddc733cd3d
refactor: move SP.SaveChangedAttachments() fully into AttachmentsModule
2011-08-30 23:32:30 +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
Justin Clark-Casey (justincc)
be357f8fee
Fix bug in persisting saved appearances for npcs
...
Assets have to be marked non-local as well as non-temporary to persist. This is now done.
Hopefully addresses http://opensimulator.org/mantis/view.php?id=5660
2011-08-30 01:58:32 +01:00
Justin Clark-Casey (justincc)
d4d894c20f
Stop avatars returning from neighbouring regions from stalling on the border crossing.
...
On making a root agent, we need to reset the ScenePresence.m_movement_flag so that it doesn't remember the
movement registered to the client when it exited the initial region.
If this is remember, then the client avatar movement isn't updated and it appears to stall in mid-air, though this is resolved with a prod/release of any other direction key.
This bug was probably introduced a few weeks ago. Surprised that nobody brought it up.
2011-08-27 01:28:33 +01:00
Justin Clark-Casey (justincc)
33a894f3d2
refactor: move SOP.IsAttachment and AttachmentPoint up into SOG to avoid pointless duplication of identical values
2011-08-27 00:15:21 +01:00
Justin Clark-Casey (justincc)
d5dc8133fc
remove pointless IsDeleted check on SP.RezAttachments()
...
IsDeleted is never set for an SP, even though it's on EntityBase.
It might be an idea to set it in the future
2011-08-24 22:37:08 +01:00
Justin Clark-Casey (justincc)
6d4432f440
refactor: simplify EntityBase.IsDeleted property
2011-08-24 22:34:26 +01:00
Justin Clark-Casey (justincc)
afd5469eec
Remove pointless contains check in ScenePresence.RemoveAttachment()
2011-08-23 00:08:29 +01:00
Justin Clark-Casey (justincc)
d328046efb
If an attachment fails, then start logging the exception for now, in order to help with the inconsistent state bug.
...
This also refactors AttachmentsModules to stop pointlessly refetching the ScenePresence in various methods. However, more of this is required.
2011-08-22 23:59:48 +01:00
Justin Clark-Casey (justincc)
2eaadf2dc0
Add warning log message to say which attachment fails validation in order to pin down problems with "Inconsistent Attachment State"
2011-08-22 23:28:37 +01:00
Justin Clark-Casey (justincc)
49258350e8
refactor: fold CreateSceneViewer() back into ScenePresence constructor
2011-08-18 01:22:01 +01:00
Justin Clark-Casey (justincc)
45c37ef494
refactor: Fold 3 ScenePresence() constructors into one since only one is called.
2011-08-18 01:11:23 +01: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)
d73c424078
get rid of logged warnings about lack of some modules - afaik these never occur in real life and just clutter up tests
2011-08-16 23:12:58 +01:00
Justin Clark-Casey (justincc)
b3a4b10531
eliminate redundant ground sitting checks since these are already done in enclosing control structures
2011-08-11 03:16:46 +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)
29093df1a7
get rid of intermediate local store of body rotation in ScenePresence, this is not used.
2011-08-11 02:36:02 +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)
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)
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)
6878049952
get rid of bogus log message
2011-08-06 03:06:05 +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)
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)
a333c60f28
refactor: rename the move to position methods to move to target to be consistent with terminology used by scene object part and elsewhere
2011-08-03 22:34:05 +01:00
Justin Clark-Casey (justincc)
2964467708
get rid of vestigal move to parameters
2011-08-03 22:11:05 +01:00
Justin Clark-Casey (justincc)
6e4ec29722
Do a partial fix/implementation of OSSL osNpcMoveTo()
...
Avatar moves and stops. However, will stop in mid stride.
And if the move to position is in the air, avatar will continue to make vain and quite hilarious attempts to take off (but never doing so).
Clearly more work is needed.
2011-08-03 04:19:19 +01:00
Justin Clark-Casey (justincc)
68a5fe0431
Improve z axis move to/autopilot so the avatar does alternative crouch/huzzah when walking along the ground
...
Moving a flying avatar to a ground point doesn't yet land the avatar. This may or may not be the best thing
2011-08-03 02:59:49 +01:00
Justin Clark-Casey (justincc)
30e816bfa2
Implement move to/autopilot for z axis movement as well.
...
This is jerky (an artifact of the way it's being done, I think), but it's better than on implementation.
2011-08-03 02:04:38 +01:00
Justin Clark-Casey (justincc)
0c23764ce2
get autopilot/go here to work immediately.
...
This works with viewer 1.23.5 and so in theory should work with libopenmetaverse.
2011-08-03 01:12:32 +01:00
Justin Clark-Casey (justincc)
1c126e6e22
refactor: Move update_movement_flag and the final check inside the m_allowMovement if in HandleAgentUpdate() since it's logically only ever used there
2011-08-03 00:55:52 +01:00
Justin Clark-Casey (justincc)
f9689f5cc9
refactor: move out code from HandleAgentUpdate() which processes updates to move to a set position
...
Also comment out the really spammy log message I accidentally left in on the last commit.
2011-08-03 00:46:46 +01:00
Justin Clark-Casey (justincc)
c122489e09
Partially fix autopilot/go here
...
This now works again except that it requires a click or avatar mvmt to get going
This is because the ScenePresence.HandleAgentUpdate() method doesn't trigger until the client does something significant, at which point autopilot takes over.
Even clicking is enough to trigger.
This will be improved presently.
2011-08-02 23:41:12 +01:00
Justin Clark-Casey (justincc)
b6ac1c46cd
Get rid of AvatarAppearance.Owner to simplify the code.
...
This is not used for anything - appearances are always properties of objects with ids (ScenePresence, AgentCircuitData) and just has the potential to get out of sync when the appearance is cloned.
2011-08-02 00:13:04 +01:00
Justin Clark-Casey (justincc)
59f548cda8
Get osNpcCreate appearance working with avatars that are currently in the scene.
...
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.
2011-08-01 23:41:29 +01:00
Justin Clark-Casey (justincc)
22f25fae38
Hack around with the NPC module to get osNpcCreate() partially working again.
...
This now creates an avatar but appearance is always cloudy.
Move doesn't work.
Really, creating an NPC should only involve a ScenePresence rather than doing anything with IClientAPI, since an NPC has no viewer to communicate with!
2011-06-29 00:28:22 +01:00
Mic Bowman
ad84728aba
Add localID to physical object creation functions.
2011-06-15 11:31:32 -07:00
dahlia
eaa33cf478
adjust avatar terse update packet filter distance error threshold based on avatar speed
2011-05-06 16:56:54 -07:00
Justin Clark-Casey (justincc)
04ecd748d9
remove further mono compiler warnings
2011-05-06 22:47:41 +01:00
Diva Canto
6c503e75ac
Put the previous state back in the attachments in case the agent transfer fails.
2011-05-04 12:04:35 -07:00
dahlia
4c59d57596
use getters instead of member variables in velocity network filter code and add some more descriptive comments.
2011-05-04 03:29:06 -07:00
dahlia
13ab00e45a
adjust terse avatar update filtering to send updates when distance traveled does not match expected distance, rather than at a fixed time period. this should smooth avatar motion somewhat when moving in a straight line and velocity is constant.
2011-05-03 19:47:50 -07:00
Diva Canto
00e94b0ba8
Check for RegionID instead of RegionHandle. Other minor tweaks
2011-04-30 16:53:11 -07:00
Diva Canto
4d5d6222f7
Delaying starting the scripts on TPs and crossings until the agent is root.
2011-04-29 17:09:48 -07:00
Diva Canto
0d49611f6d
Remove the scripts of the attachments in the departing region and recreate them if fail.
2011-04-29 15:52:06 -07:00
Diva Canto
73caa4e94a
Minor correction to yesterday's changes. Make normal prim crossing (no attach) work well again.
2011-04-29 08:42:51 -07:00
Diva Canto
9892e115cc
Fatpack message on agent transfers: 1 message only (UpdateAgent) containing the agent and all attachments. Preserves backwards compatibility -- older sims get passed attachments one by one. Meaning that I finally introduced versioning in the simulation service.
2011-04-28 20:19:54 -07:00
dahlia
16f6f55f2d
network traffic reduction - decrease update frequency for moving avatars when velocity is unchanged
2011-04-26 16:22:44 -07:00
Mic Bowman
77ab7ce084
Fixed the transmission of throttles from root agent to child
...
agents. Child throttles are based on the number of child agents
known to the root and at least 1/4 of the throttle given to
the root.
2011-04-25 15:11:29 -07:00
Justin Clark-Casey (justincc)
2b04cab1ee
change some log messages from info to debug
2011-02-25 02:15:06 +00:00
Mic Bowman
5a16fa882c
Parameterizes the view distance used to compute and manage
...
child agents in neighbor regions. This means you can extend
the view on a simulator beyond the default 3x3 regions.
This uses a region default draw distance and should be
replaced at some point by the avatar specified draw distance.
That will require more careful, dynamic recomputation of child
agents every time the draw distance changes.
WARNING: this is experimental and has known instabilities. specifically
all regions "within site" should be running the same default draw distance
or agents will not be closed correctly.
2011-02-22 13:23:54 -08:00
Justin Clark-Casey (justincc)
dd9efc1838
extend TestChildAgentEstablished() test slightly to put in EntityTransferModule. Not yet enabled.
2011-02-18 23:05:56 +00:00
Justin Clark-Casey (justincc)
e774679f62
minor: add method doc to a few ScenePresence methods
2011-02-18 21:19:16 +00:00
Justin Clark-Casey (justincc)
4725221435
Stop the avatar sometimes pausing for more than a second on the border when region crossing.
...
This restores a RemoveFromPhysicalScene() call in ScenePresence.CheckForBorderCrossing() when the agent has been placed in transit.
If we don't remove the agent from the physical scene, then the method continues to be called via ScenePresence.Update()
until the handover of the client between regions is completed. Since this handover can take more than 1000ms (due to the 1000ms
event queue polling response from the server), this results in the avatar pausing on the border for the entire handover period.
2011-02-18 20:54:00 +00:00
Melanie
d90b0c53ec
Fix bumping into sim borders and check estate bans for walking crossings
2011-01-28 02:38:14 +00:00
Melanie
17801bd78b
Add a TeleportFlags member to SP so we can tell how we got there.
2011-01-27 05:33:46 +00:00
Diva Canto
a07375a7ae
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2011-01-17 17:41:06 -08:00
Diva Canto
c98d1cffe2
Removed the call to sceneViewer.Reset upon MakeRoot and ChildAgentUpdate, because Reset hangs for a long time waiting for the lock. That is a problem in itself -- that long holding of the lock by some thread -- but let's just avoid it altogether.
2011-01-17 17:40:48 -08:00
Justin Clark-Casey (justincc)
3083c517a0
minor: resolve some mono compiler warnings
2011-01-18 00:29:10 +00:00
Justin Clark-Casey (justincc)
c544f0d0c5
Prune some of the excess logging for client logins.
...
Didn't touch the appearance related stuff.
2011-01-18 00:25:24 +00:00
Diva Canto
4bcee1dfb4
Revert "DEBUG DEBUG DEBUG"
...
This reverts commit 59c2cd04ba
.
2011-01-17 13:07:02 -08:00
Diva Canto
59c2cd04ba
DEBUG DEBUG DEBUG
2011-01-17 12:35:19 -08:00
Diva Canto
fbde9b1136
Note to self: try to make only 3 things at the same time.
2011-01-04 11:33:15 -08:00
Diva Canto
db55859125
Guard against null Animator.
2011-01-04 11:30:08 -08:00
Diva Canto
c082254b9d
Put the coarse location updates back to 50 frames, otherwise the dots on the mini-map come and go noticeably. Also increased the Velocity a bit; I had decreased it to 0.885; now it's 0.9.
2010-12-19 19:29:07 -08:00
Diva Canto
ed26376ec5
Yet more things out of the main Update thread loop and into threadlets. This time, SendPrimsUpdate. Plus a few more tweaks on triggering actions from the Update loop. #LoginLag.
2010-12-14 20:15:26 -08:00
Diva Canto
e3262ef5ac
Commented out the UpdateLand call from the Update thread loop, because this may be causing the #LoginLag. Attachments taint the prim count. Twice. Each.
2010-12-14 17:50:37 -08:00
Melanie
e47cc10674
Null checking ParentGroup is not needed. It can't be null.
2010-12-14 12:07:35 +00:00
Diva Canto
b41164b620
This seems to get rid of the stuck PREJUMP animation, as reported by Justin in -dev. Also in this commit, a slight adjustment to the Velocity of SP -- this makes the avie walking feel less jerky for me. Will wait reports from others.
2010-12-13 21:35:40 -08:00
Marck
7f0350b988
Trigger event with flag CHANGED_LINK when agent sits on objects that have not a sit target defined. This fixes Mantis #4692 .
2010-12-12 20:12:34 +01:00
Diva Canto
797ca8d0e7
Fixes the nudge movements!
2010-12-11 17:06:17 -08:00
Diva Canto
c42876df67
Revert "Another stab at mantis #5256"
...
This reverts commit ccb4f958c0
.
2010-12-10 23:32:50 -08:00
Diva Canto
ccb4f958c0
Another stab at mantis #5256
2010-12-10 23:16:26 -08:00
Diva Canto
72748746d5
Fixed some inconsistency with trailing /. Made debug messages consistent. Changed the stored region names of HG regions. Increased the size of regionName in DB.
2010-12-05 19:43:24 -08:00