Commits

davep committed f9088b1 Merge

merge

  • Participants
  • Parent commits e8d5330, 236e2c2

Comments (0)

Files changed (4)

File indra/newview/llspatialpartition.cpp

 			LLViewerObject* object = drawable->getVObj();
 			if (object && object->getPCode() == LLViewerObject::LL_VO_SURFACE_PATCH)
 			{
+				gGL.pushMatrix();
+				gGL.multMatrix((F32*) object->getRegion()->mRenderMatrix.mMatrix);
 				//push face vertices for terrain
 				for (S32 i = 0; i < drawable->getNumFaces(); ++i)
 				{
 						}
 					}
 				}
+				gGL.popMatrix();
 			}
 		}
 	}

File indra/newview/llviewerobject.cpp

 void LLViewerObject::setPhysicsShapeType(U8 type)
 {
 	mPhysicsShapeUnknown = false;
-	mPhysicsShapeType = type;
-	mCostStale = true;
+	if (type != mPhysicsShapeType)
+	{
+		mPhysicsShapeType = type;
+		mCostStale = true;
+	}
 }
 
 void LLViewerObject::setPhysicsGravity(F32 gravity)
 { 
 	if (mPhysicsShapeUnknown)
 	{
-		mPhysicsShapeUnknown = false;
 		gObjectList.updatePhysicsFlags(this);
 	}
 

File indra/newview/llviewerobjectlist.cpp

 extern F32 gMinObjectDistance;
 extern BOOL gAnimateTextures;
 
+#define MAX_CONCURRENT_PHYSICS_REQUESTS 256
+
 void dialog_refresh_all();
 
-#define CULL_VIS
-//#define ORPHAN_SPAM
-//#define IGNORE_DEAD
-
 // Global lists of objects - should go away soon.
 LLViewerObjectList gObjectList;
 
 				LLSD id_list;
 				U32 object_index = 0;
 
-				U32 count = 0;
-
 				for (
 					std::set<LLUUID>::iterator iter = mStaleObjectCost.begin();
 					iter != mStaleObjectCost.end();
 
 					mStaleObjectCost.erase(iter++);
 
-					if (count++ >= 450)
+					if (object_index >= MAX_CONCURRENT_PHYSICS_REQUESTS)
 					{
 						break;
 					}
 				for (
 					std::set<LLUUID>::iterator iter = mStalePhysicsFlags.begin();
 					iter != mStalePhysicsFlags.end();
-					++iter)
+					)
 				{
 					// Check to see if a request for this object
 					// has already been made.
 						mPendingPhysicsFlags.insert(*iter);
 						id_list[object_index++] = *iter;
 					}
+
+					mStalePhysicsFlags.erase(iter++);
+					
+					if (object_index >= MAX_CONCURRENT_PHYSICS_REQUESTS)
+					{
+						break;
+					}
 				}
 
-				// id_list should now contain all
-				// requests in mStalePhysicsFlags before, so clear
-				// it now
-				mStalePhysicsFlags.clear();
-
 				if ( id_list.size() > 0 )
 				{
 					LLSD post_data = LLSD::emptyMap();

File indra/newview/pipeline.cpp

 				}
 				else
 				{
-					LLViewerObject* obj = gAgentCamera.getFocusObject();
-					if (obj)
-					{ //focus on alt-zoom target
-						focus_point = LLVector3(gAgentCamera.getFocusGlobal()-gAgent.getRegion()->getOriginGlobal());
-					}
-					else
-					{ //focus on your avatar
-						focus_point = gAgent.getPositionAgent();
-					}
+					//focus on alt-zoom target
+					focus_point = LLVector3(gAgentCamera.getFocusGlobal()-gAgent.getRegion()->getOriginGlobal());
 				}
 			}