BUGFIX: Ensuring that the viewer will still work on regions that have older pathfinding server code with the character shape data.

master
Todd Stinson 2012-06-04 18:08:46 -07:00
parent 3b8b8a0d09
commit 9d615c1e1d
3 changed files with 22 additions and 3 deletions

View File

@ -57,12 +57,20 @@ void LLFloaterPathfindingCharacters::onClose(bool pIsAppQuitting)
BOOL LLFloaterPathfindingCharacters::isShowPhysicsCapsule() const
{
#ifndef SERVER_SIDE_CHARACTER_SHAPE_ROLLOUT_COMPLETE
return mHasCharacterShapeData && mShowPhysicsCapsuleCheckBox->get();
#else // SERVER_SIDE_CHARACTER_SHAPE_ROLLOUT_COMPLETE
return mShowPhysicsCapsuleCheckBox->get();
#endif // SERVER_SIDE_CHARACTER_SHAPE_ROLLOUT_COMPLETE
}
void LLFloaterPathfindingCharacters::setShowPhysicsCapsule(BOOL pIsShowPhysicsCapsule)
{
#ifndef SERVER_SIDE_CHARACTER_SHAPE_ROLLOUT_COMPLETE
mShowPhysicsCapsuleCheckBox->set(mHasCharacterShapeData && pIsShowPhysicsCapsule);
#else // SERVER_SIDE_CHARACTER_SHAPE_ROLLOUT_COMPLETE
mShowPhysicsCapsuleCheckBox->set(pIsShowPhysicsCapsule);
#endif // SERVER_SIDE_CHARACTER_SHAPE_ROLLOUT_COMPLETE
}
BOOL LLFloaterPathfindingCharacters::isPhysicsCapsuleEnabled(LLUUID& id, LLVector3& pos) const
@ -95,6 +103,9 @@ LLHandle<LLFloaterPathfindingCharacters> LLFloaterPathfindingCharacters::getInst
LLFloaterPathfindingCharacters::LLFloaterPathfindingCharacters(const LLSD& pSeed)
: LLFloaterPathfindingObjects(pSeed),
mShowPhysicsCapsuleCheckBox(NULL),
#ifndef SERVER_SIDE_CHARACTER_SHAPE_ROLLOUT_COMPLETE
mHasCharacterShapeData(false),
#endif // SERVER_SIDE_CHARACTER_SHAPE_ROLLOUT_COMPLETE
mSelectedCharacterId(),
mBeaconColor(),
mSelfHandle()
@ -135,6 +146,10 @@ LLSD LLFloaterPathfindingCharacters::convertObjectsIntoScrollListData(const LLPa
LLSD element = buildCharacterScrollListData(characterPtr);
scrollListData.append(element);
#ifndef SERVER_SIDE_CHARACTER_SHAPE_ROLLOUT_COMPLETE
mHasCharacterShapeData = characterPtr->hasShapeData();
#endif // SERVER_SIDE_CHARACTER_SHAPE_ROLLOUT_COMPLETE
if (characterPtr->hasOwner() && !characterPtr->hasOwnerName())
{
rebuildScrollListAfterAvatarNameLoads(characterPtr->getUUID());
@ -220,7 +235,11 @@ LLSD LLFloaterPathfindingCharacters::buildCharacterScrollListData(const LLPathfi
void LLFloaterPathfindingCharacters::updateStateOnEditFields()
{
int numSelectedItems = getNumSelectedObjects();;
#ifndef SERVER_SIDE_CHARACTER_SHAPE_ROLLOUT_COMPLETE
bool isEditEnabled = mHasCharacterShapeData && (numSelectedItems == 1);
#else // SERVER_SIDE_CHARACTER_SHAPE_ROLLOUT_COMPLETE
bool isEditEnabled = (numSelectedItems == 1);
#endif // SERVER_SIDE_CHARACTER_SHAPE_ROLLOUT_COMPLETE
mShowPhysicsCapsuleCheckBox->setEnabled(isEditEnabled);
if (!isEditEnabled)

View File

@ -83,6 +83,9 @@ private:
LLCheckBoxCtrl *mShowPhysicsCapsuleCheckBox;
#ifndef SERVER_SIDE_CHARACTER_SHAPE_ROLLOUT_COMPLETE
bool mHasCharacterShapeData;
#endif // SERVER_SIDE_CHARACTER_SHAPE_ROLLOUT_COMPLETE
LLUUID mSelectedCharacterId;
LLColor4 mBeaconColor;

View File

@ -38,9 +38,6 @@
#define CHARACTER_LENGTH_FIELD "length"
#define CHARACTER_RADIUS_FIELD "radius"
//prep#
#define SERVER_SIDE_CHARACTER_SHAPE_ROLLOUT_COMPLETE
//---------------------------------------------------------------------------
// LLPathfindingCharacter
//---------------------------------------------------------------------------