diff options
| author | Andrew Meadows <andrew@lindenlab.com> | 2011-01-07 15:22:33 -0800 | 
|---|---|---|
| committer | Andrew Meadows <andrew@lindenlab.com> | 2011-01-07 15:22:33 -0800 | 
| commit | 1b7bd5e2d0d8f3c8f31c037aae8f46b1377178fd (patch) | |
| tree | f4a4d2bd79cda3b8c4f787d7cedd92bd7358c70b /indra/newview | |
| parent | d23f7df822b6c0557f9426b5e1aa660b77aba01e (diff) | |
| parent | d12b7b347ad4094b96ba2a650ae86dfb9db2a893 (diff) | |
merge
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/English.lproj/InfoPlist.strings | 4 | ||||
| -rw-r--r-- | indra/newview/Info-SecondLife.plist | 2 | ||||
| -rw-r--r-- | indra/newview/llviewerobject.cpp | 19 | ||||
| -rw-r--r-- | indra/newview/llviewerparceloverlay.cpp | 39 | ||||
| -rw-r--r-- | indra/newview/llviewerparceloverlay.h | 6 | ||||
| -rw-r--r-- | indra/newview/llviewerregion.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/llviewerregion.h | 2 | ||||
| -rw-r--r-- | indra/newview/llvoavatar.cpp | 25 | ||||
| -rw-r--r-- | indra/newview/res/viewerRes.rc | 8 | 
9 files changed, 49 insertions, 62 deletions
| diff --git a/indra/newview/English.lproj/InfoPlist.strings b/indra/newview/English.lproj/InfoPlist.strings index fb1c465493..4bf67b1367 100644 --- a/indra/newview/English.lproj/InfoPlist.strings +++ b/indra/newview/English.lproj/InfoPlist.strings @@ -2,6 +2,6 @@  CFBundleName = "Second Life"; -CFBundleShortVersionString = "Second Life version 2.4.0.211776"; -CFBundleGetInfoString = "Second Life version 2.4.0.211776, Copyright 2004-2010 Linden Research, Inc."; +CFBundleShortVersionString = "Second Life version 2.1.1.0"; +CFBundleGetInfoString = "Second Life version 2.1.1.0, Copyright 2004-2010 Linden Research, Inc."; diff --git a/indra/newview/Info-SecondLife.plist b/indra/newview/Info-SecondLife.plist index 5412fd5d5c..3cda7467dd 100644 --- a/indra/newview/Info-SecondLife.plist +++ b/indra/newview/Info-SecondLife.plist @@ -60,7 +60,7 @@  		</dict>  	</array>  	<key>CFBundleVersion</key> -	<string>2.4.0.211776</string> +	<string>2.1.1.0</string>  	<key>CSResourcesFileMapped</key>  	<true/>  </dict> diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index df89e6759d..18d6e4c8c8 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -518,10 +518,21 @@ void LLViewerObject::setNameValueList(const std::string& name_value_list)  // agent.  bool LLViewerObject::isReturnable()  { -	LLBBox box_in_region_frame(getPositionRegion(), getRotationRegion(), getScale() * -0.5f, getScale() * 0.5f); -	return !isAttachment() -		&& mRegionp -		&& mRegionp->objectIsReturnable(getPositionRegion(), box_in_region_frame); +	if (isAttachment()) +	{ +		return false; +	} +	std::vector<LLBBox> boxes; +	boxes.push_back(LLBBox(getPositionRegion(), getRotationRegion(), getScale() * -0.5f, getScale() * 0.5f).getAxisAligned()); +	for (child_list_t::iterator iter = mChildList.begin(); +		 iter != mChildList.end(); iter++) +	{ +		LLViewerObject* child = *iter; +		boxes.push_back(LLBBox(child->getPositionRegion(), child->getRotationRegion(), child->getScale() * -0.5f, child->getScale() * 0.5f).getAxisAligned()); +	} + +	return mRegionp +		&& mRegionp->objectIsReturnable(getPositionRegion(), boxes);  }  BOOL LLViewerObject::setParent(LLViewerObject* parent) diff --git a/indra/newview/llviewerparceloverlay.cpp b/indra/newview/llviewerparceloverlay.cpp index 58d9009c90..1207ef3340 100644 --- a/indra/newview/llviewerparceloverlay.cpp +++ b/indra/newview/llviewerparceloverlay.cpp @@ -145,27 +145,28 @@ BOOL LLViewerParcelOverlay::isOwnedOther(const LLVector3& pos) const  	return (PARCEL_OWNED == overlay || PARCEL_FOR_SALE == overlay);  } -bool LLViewerParcelOverlay::encroachesOwned(const LLBBox& bbox) const +bool LLViewerParcelOverlay::encroachesOwned(const std::vector<LLBBox>& boxes) const  { -	LLBBox bbox_aligned = bbox.getAxisAligned(); - -	LLVector3 min = bbox_aligned.getMinAgent(); -	LLVector3 max = bbox_aligned.getMaxAgent(); +	// boxes are expected to already be axis aligned +	for (U32 i = 0; i < boxes.size(); ++i) +	{ +		LLVector3 min = boxes[i].getMinAgent(); +		LLVector3 max = boxes[i].getMaxAgent(); +		 +		S32 left   = S32(llclamp((min.mV[VX] / PARCEL_GRID_STEP_METERS), 0.f, REGION_WIDTH_METERS - 1)); +		S32 right  = S32(llclamp((max.mV[VX] / PARCEL_GRID_STEP_METERS), 0.f, REGION_WIDTH_METERS - 1)); +		S32 top    = S32(llclamp((min.mV[VY] / PARCEL_GRID_STEP_METERS), 0.f, REGION_WIDTH_METERS - 1)); +		S32 bottom = S32(llclamp((max.mV[VY] / PARCEL_GRID_STEP_METERS), 0.f, REGION_WIDTH_METERS - 1)); -	S32 left   = S32(llclamp((min.mV[VX] / PARCEL_GRID_STEP_METERS), 0.f, REGION_WIDTH_METERS - 1)); -	S32 right  = S32(llclamp((max.mV[VX] / PARCEL_GRID_STEP_METERS), 0.f, REGION_WIDTH_METERS - 1)); -	S32 top    = S32(llclamp((min.mV[VY] / PARCEL_GRID_STEP_METERS), 0.f, REGION_WIDTH_METERS - 1)); -	S32 bottom = S32(llclamp((max.mV[VY] / PARCEL_GRID_STEP_METERS), 0.f, REGION_WIDTH_METERS - 1)); - -	for (S32 row = top; row <= bottom; row++) -		for (S32 column = left; column <= right; column++) -		{ -			U8 type = ownership(row, column); -			if (PARCEL_SELF == type -				|| PARCEL_GROUP == type ) -				return true; -		} - +		for (S32 row = top; row <= bottom; row++) +			for (S32 column = left; column <= right; column++) +			{ +				U8 type = ownership(row, column); +				if (PARCEL_SELF == type +					|| PARCEL_GROUP == type ) +					return true; +			} +	}  	return false;  } diff --git a/indra/newview/llviewerparceloverlay.h b/indra/newview/llviewerparceloverlay.h index 4aa42eb8a4..c80baedda6 100644 --- a/indra/newview/llviewerparceloverlay.h +++ b/indra/newview/llviewerparceloverlay.h @@ -57,9 +57,9 @@ public:  	BOOL			isOwnedOther(const LLVector3& pos) const;  	// "encroaches" means the prim hangs over the parcel, but its center -	// might be in another parcel. for now, we simply test bounding boxes -	// which isn't perfect, but is close -	bool 			encroachesOwned(const LLBBox& bbox) const; +	// might be in another parcel. for now, we simply test axis aligned  +	// bounding boxes which isn't perfect, but is close +	bool encroachesOwned(const std::vector<LLBBox>& boxes) const;  	BOOL			isSoundLocal(const LLVector3& pos) const; diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index a2cae122fb..2a67d12b64 100644 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -165,7 +165,7 @@ public:  				mRegion->showReleaseNotes();  			}  		} -		 +  		mRegion->setCapabilitiesReceived(true);  		if (STATE_SEED_GRANTED_WAIT == LLStartUp::getStartupState()) @@ -1501,13 +1501,13 @@ LLSpatialPartition* LLViewerRegion::getSpatialPartition(U32 type)  const U32 ALLOW_RETURN_ENCROACHING_OBJECT = REGION_FLAGS_ALLOW_RETURN_ENCROACHING_OBJECT  											| REGION_FLAGS_ALLOW_RETURN_ENCROACHING_ESTATE_OBJECT; -bool LLViewerRegion::objectIsReturnable(const LLVector3& pos, const LLBBox& bbox) +bool LLViewerRegion::objectIsReturnable(const LLVector3& pos, const std::vector<LLBBox>& boxes) const  {  	return (mParcelOverlay != NULL)  		&& (mParcelOverlay->isOwnedSelf(pos)  			|| mParcelOverlay->isOwnedGroup(pos)  			|| ((mRegionFlags & ALLOW_RETURN_ENCROACHING_OBJECT) -				&& mParcelOverlay->encroachesOwned(bbox)) ); +				&& mParcelOverlay->encroachesOwned(boxes)) );  }  void LLViewerRegion::showReleaseNotes() diff --git a/indra/newview/llviewerregion.h b/indra/newview/llviewerregion.h index 76228c0d2a..3d3f1d62a6 100644 --- a/indra/newview/llviewerregion.h +++ b/indra/newview/llviewerregion.h @@ -295,7 +295,7 @@ public:  	LLSpatialPartition* getSpatialPartition(U32 type); -	bool objectIsReturnable(const LLVector3& pos, const LLBBox& bbox); +	bool objectIsReturnable(const LLVector3& pos, const std::vector<LLBBox>& boxes) const;  public:  	struct CompareDistance  	{ diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index bb4c5b1804..fd89044995 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -2106,31 +2106,6 @@ void LLVOAvatar::computeBodySize()  			gAgent.sendAgentSetAppearance();  		}  	} - -/* debug spam -	std::cout << "skull = " << skull << std::endl;				// adebug -	std::cout << "head = " << head << std::endl;				// adebug -	std::cout << "head_scale = " << head_scale << std::endl;	// adebug -	std::cout << "neck = " << neck << std::endl;				// adebug -	std::cout << "neck_scale = " << neck_scale << std::endl;	// adebug -	std::cout << "chest = " << chest << std::endl;				// adebug -	std::cout << "chest_scale = " << chest_scale << std::endl;	// adebug -	std::cout << "torso = " << torso << std::endl;				// adebug -	std::cout << "torso_scale = " << torso_scale << std::endl;	// adebug -	std::cout << std::endl;	// adebug - -	std::cout << "pelvis_scale = " << pelvis_scale << std::endl;// adebug -	std::cout << std::endl;	// adebug - -	std::cout << "hip = " << hip << std::endl;					// adebug -	std::cout << "hip_scale = " << hip_scale << std::endl;		// adebug -	std::cout << "ankle = " << ankle << std::endl;				// adebug -	std::cout << "ankle_scale = " << ankle_scale << std::endl;	// adebug -	std::cout << "foot = " << foot << std::endl;				// adebug -	std::cout << "mBodySize = " << mBodySize << std::endl;		// adebug -	std::cout << "mPelvisToFoot = " << mPelvisToFoot << std::endl;	// adebug -	std::cout << std::endl;		// adebug -*/  }  //------------------------------------------------------------------------ diff --git a/indra/newview/res/viewerRes.rc b/indra/newview/res/viewerRes.rc index d71a4abe3c..5e8cee1f5f 100644 --- a/indra/newview/res/viewerRes.rc +++ b/indra/newview/res/viewerRes.rc @@ -129,8 +129,8 @@ TOOLSIT                 CURSOR                  "toolsit.cur"  //  VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,4,0,211776 - PRODUCTVERSION 2,4,0,211776 + FILEVERSION 2,1,1,0 + PRODUCTVERSION 2,1,1,0   FILEFLAGSMASK 0x3fL  #ifdef _DEBUG   FILEFLAGS 0x1L @@ -147,12 +147,12 @@ BEGIN          BEGIN              VALUE "CompanyName", "Linden Lab"              VALUE "FileDescription", "Second Life" -            VALUE "FileVersion", "2.4.0.211776" +            VALUE "FileVersion", "2.1.1.0"              VALUE "InternalName", "Second Life"              VALUE "LegalCopyright", "Copyright � 2001-2010, Linden Research, Inc."              VALUE "OriginalFilename", "SecondLife.exe"              VALUE "ProductName", "Second Life" -            VALUE "ProductVersion", "2.4.0.211776" +            VALUE "ProductVersion", "2.1.1.0"          END      END      BLOCK "VarFileInfo" | 
