actual crossing mechanics for seated avatars, using the supporting code from
the previous commits. Physics is not supported yet, although some few bits
for them are already in place due to the earlier code drops. With this commit,
crossing sitting avatar by "editing" the prim across the border, by using
llSetPos or keyframe motion may already be possible. Vehicles will come next.
The problem with logging at warn is that these aren't actually warnings, and so are false positives to scripts that monitor for problems.
Ideally, log4net would have a separate "status" logging level, but currently we will compromise by putting them to console, as they are user-oriented
These stopped working because current code calculates sit heights based on avatar physics rather than appearance data.
Also changed BasicPhysics to not divide Z param of all set sizes by 2 - there's no obvious good reason for this and basicphysics is only used in tests
- Parts of region crossing code
- New bakes handling code
- Bakes now sent from sim to sim without central storage
- Appearance handling changes
- Some changes to sitting
- A number of unrelated fixes and improvements
It turns out that the x/y rot data in mouselook is needed to implement this and to push the avatar against the ground if walking in mouselook.
Doing this in the terse send so that we preserve mouselook rotation information
Fixes http://opensimulator.org/mantis/view.php?id=3274
When not in mouselook, avatar only sends rotations around the Z plane (since that's the only way an avatar can rotate).
However, in mouselook it also sends X and Y information. But sending X and Y in terse updates causes issues with wrong camera movement in mouselook.
So strip out X and Y components for now. If this is an issue, then could strip out before sending avatar terse update, though this generates more cpu work.
Thanks to mirceakitsune for suggesting an initial fix
AGENT_CONTROL_STOP is specified to SP.HandleAgentUpdate if the user holds down the space bar on a viewer.
For a stopped avatar, this prevents fly or walk/run (though not rotate) until released.
For a walking/running avatar, this reduces movement to half speed.
For a flying avatar, this stops the avatar.
These are observed behaviours on the LL grid - there was no previous OpenSimulator implementation
This commit introduces an optional parameter to SP.AddNewMovement(), which means that it will no longer compile on .NET 3.5 or earlier versions of Mono than 2.8
Currently, this does not work for jumping, and if used whilst flying the avatar continues the fly animation even though it does not move