Variable size region support, by RevolutionSmythe
This commit is contained in:
@@ -137,7 +137,18 @@ LLViewerParcelMgr::LLViewerParcelMgr()
|
||||
mAgentParcel = new LLParcel();
|
||||
mHoverParcel = new LLParcel();
|
||||
mCollisionParcel = new LLParcel();
|
||||
mBlockedImage = LLViewerTextureManager::getFetchedTextureFromFile("noentrylines.j2c");
|
||||
mPassImage = LLViewerTextureManager::getFetchedTextureFromFile("noentrypasslines.j2c");
|
||||
|
||||
init(256);
|
||||
|
||||
}
|
||||
|
||||
//moved this stuff out of the constructor and into a function that we can call again after we get the region size.
|
||||
//LLViewerParcelMgr needs to be changed so we either get an instance per region, or it handles various region sizes
|
||||
//on a single grid properly - Patrick Sapinski (2/10/2011)
|
||||
void LLViewerParcelMgr::init(F32 region_size)
|
||||
{
|
||||
mParcelsPerEdge = S32( REGION_WIDTH_METERS / PARCEL_GRID_STEP_METERS );
|
||||
mHighlightSegments = new U8[(mParcelsPerEdge+1)*(mParcelsPerEdge+1)];
|
||||
resetSegments(mHighlightSegments);
|
||||
@@ -145,13 +156,8 @@ LLViewerParcelMgr::LLViewerParcelMgr()
|
||||
mCollisionSegments = new U8[(mParcelsPerEdge+1)*(mParcelsPerEdge+1)];
|
||||
resetSegments(mCollisionSegments);
|
||||
|
||||
// JC: Resolved a merge conflict here, eliminated
|
||||
// mBlockedImage->setAddressMode(LLTexUnit::TAM_WRAP);
|
||||
// because it is done in llviewertexturelist.cpp
|
||||
mBlockedImage = LLViewerTextureManager::getFetchedTextureFromFile("noentrylines.j2c");
|
||||
mPassImage = LLViewerTextureManager::getFetchedTextureFromFile("noentrypasslines.j2c");
|
||||
|
||||
S32 overlay_size = mParcelsPerEdge * mParcelsPerEdge / PARCEL_OVERLAY_CHUNKS;
|
||||
S32 mParcelOverLayChunks = region_size * region_size / (128 * 128);
|
||||
S32 overlay_size = mParcelsPerEdge * mParcelsPerEdge / mParcelOverLayChunks;
|
||||
sPackedOverlay = new U8[overlay_size];
|
||||
|
||||
mAgentParcelOverlay = new U8[mParcelsPerEdge * mParcelsPerEdge];
|
||||
@@ -1360,7 +1366,7 @@ void LLViewerParcelMgr::processParcelOverlay(LLMessageSystem *msg, void **user)
|
||||
}
|
||||
|
||||
S32 parcels_per_edge = LLViewerParcelMgr::getInstance()->mParcelsPerEdge;
|
||||
S32 expected_size = parcels_per_edge * parcels_per_edge / PARCEL_OVERLAY_CHUNKS;
|
||||
S32 expected_size = 1024;
|
||||
if (packed_overlay_size != expected_size)
|
||||
{
|
||||
llwarns << "Got parcel overlay size " << packed_overlay_size
|
||||
|
||||
Reference in New Issue
Block a user