Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-beta.
commit
ce417a01c9
1
.hgtags
1
.hgtags
|
|
@ -349,3 +349,4 @@ ab2ffc547c8a8950ff187c4f6c95e5334fab597b 3.3.4-beta5
|
|||
28e100d0379a2b0710c57647a28fc5239d3d7b99 3.3.4-release
|
||||
a8b3eca451a9eaab59987efb0ab1c4217e3f2dcc DRTVWR-182
|
||||
1f27cdfdc54246484f8afbbe42ce48e954175cbd 3.4.0-beta1
|
||||
9ee9387789701d597130f879d9011a4958753862 DRTVWR-189
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ public:
|
|||
|
||||
LLPathingLib::LLPLCharacterType getRenderHeatmapType() const;
|
||||
void setRenderHeatmapType(LLPathingLib::LLPLCharacterType pRenderHeatmapType);
|
||||
|
||||
void onRegionBoundaryCross();
|
||||
protected:
|
||||
|
||||
private:
|
||||
|
|
@ -124,7 +124,7 @@ private:
|
|||
void onClearPathClicked();
|
||||
|
||||
void handleNavMeshZoneStatus(LLPathfindingNavMeshZone::ENavMeshZoneRequestStatus pNavMeshZoneRequestStatus);
|
||||
void onRegionBoundaryCross();
|
||||
|
||||
void onPathEvent();
|
||||
|
||||
void setDefaultInputs();
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@
|
|||
#include "llviewerthrottle.h"
|
||||
#include "llvotree.h"
|
||||
#include "llvosky.h"
|
||||
|
||||
#include "llfloaterpathfindingconsole.h"
|
||||
// linden library includes
|
||||
#include "llavatarnamecache.h"
|
||||
#include "llerror.h"
|
||||
|
|
@ -621,6 +621,13 @@ void LLFloaterPreference::cancel()
|
|||
{
|
||||
advanced_proxy_settings->cancel();
|
||||
}
|
||||
//Need to reload the navmesh if the pathing console is up
|
||||
LLHandle<LLFloaterPathfindingConsole> pathfindingConsoleHandle = LLFloaterPathfindingConsole::getInstanceHandle();
|
||||
if ( !pathfindingConsoleHandle.isDead() )
|
||||
{
|
||||
LLFloaterPathfindingConsole* pPathfindingConsole = pathfindingConsoleHandle.get();
|
||||
pPathfindingConsole->onRegionBoundaryCross();
|
||||
}
|
||||
}
|
||||
|
||||
void LLFloaterPreference::onOpen(const LLSD& key)
|
||||
|
|
@ -768,7 +775,15 @@ void LLFloaterPreference::onBtnOK()
|
|||
llinfos << "Can't close preferences!" << llendl;
|
||||
}
|
||||
|
||||
LLPanelLogin::updateLocationSelectorsVisibility();
|
||||
LLPanelLogin::updateLocationSelectorsVisibility();
|
||||
//Need to reload the navmesh if the pathing console is up
|
||||
LLHandle<LLFloaterPathfindingConsole> pathfindingConsoleHandle = LLFloaterPathfindingConsole::getInstanceHandle();
|
||||
if ( !pathfindingConsoleHandle.isDead() )
|
||||
{
|
||||
LLFloaterPathfindingConsole* pPathfindingConsole = pathfindingConsoleHandle.get();
|
||||
pPathfindingConsole->onRegionBoundaryCross();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// static
|
||||
|
|
|
|||
|
|
@ -236,6 +236,7 @@ LLViewerObject::LLViewerObject(const LLUUID &id, const LLPCode pcode, LLViewerRe
|
|||
mNumFaces(0),
|
||||
mTimeDilation(1.f),
|
||||
mRotTime(0.f),
|
||||
mAngularVelocityRot(),
|
||||
mJointInfo(NULL),
|
||||
mState(0),
|
||||
mMedia(NULL),
|
||||
|
|
@ -266,6 +267,7 @@ LLViewerObject::LLViewerObject(const LLUUID &id, const LLPCode pcode, LLViewerRe
|
|||
{
|
||||
mPositionAgent = mRegionp->getOriginAgent();
|
||||
}
|
||||
resetRot();
|
||||
|
||||
LLViewerObject::sNumObjects++;
|
||||
}
|
||||
|
|
@ -2071,14 +2073,14 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,
|
|||
if (new_rot != getRotation()
|
||||
|| new_angv != old_angv)
|
||||
{
|
||||
if (new_rot != getRotation())
|
||||
if (new_angv != old_angv)
|
||||
{
|
||||
setRotation(new_rot);
|
||||
resetRot();
|
||||
}
|
||||
|
||||
|
||||
// Set the rotation of the object followed by adjusting for the accumulated angular velocity (llSetTargetOmega)
|
||||
setRotation(new_rot * mAngularVelocityRot);
|
||||
setChanged(ROTATED | SILHOUETTE);
|
||||
|
||||
resetRot();
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -5533,8 +5535,13 @@ void LLViewerObject::applyAngularVelocity(F32 dt)
|
|||
|
||||
ang_vel *= 1.f/omega;
|
||||
|
||||
// calculate the delta increment based on the object's angular velocity
|
||||
dQ.setQuat(angle, ang_vel);
|
||||
|
||||
// accumulate the angular velocity rotations to re-apply in the case of an object update
|
||||
mAngularVelocityRot *= dQ;
|
||||
|
||||
// Just apply the delta increment to the current rotation
|
||||
setRotation(getRotation()*dQ);
|
||||
setChanged(MOVED | SILHOUETTE);
|
||||
}
|
||||
|
|
@ -5543,6 +5550,9 @@ void LLViewerObject::applyAngularVelocity(F32 dt)
|
|||
void LLViewerObject::resetRot()
|
||||
{
|
||||
mRotTime = 0.0f;
|
||||
|
||||
// Reset the accumulated angular velocity rotation
|
||||
mAngularVelocityRot.loadIdentity();
|
||||
}
|
||||
|
||||
U32 LLViewerObject::getPartitionType() const
|
||||
|
|
|
|||
|
|
@ -735,6 +735,7 @@ protected:
|
|||
|
||||
F32 mTimeDilation; // Time dilation sent with the object.
|
||||
F32 mRotTime; // Amount (in seconds) that object has rotated according to angular velocity (llSetTargetOmega)
|
||||
LLQuaternion mAngularVelocityRot; // accumulated rotation from the angular velocity computations
|
||||
|
||||
LLVOJointInfo* mJointInfo;
|
||||
U8 mState; // legacy
|
||||
|
|
|
|||
Loading…
Reference in New Issue