Merge branch 'VarRegion' of https://github.com/Lirusaito/SingularityViewer into aurora-sim
Merged cleanly: indra/llkeyframewalkmotion.cpp -36e6946c96- worked around a bug in Aurora walking motion indra/llrender/llimagegl.cpp -fa8e1f033b- An llerrs here becomes an llwarns, to avoid bothering the user with non power of two dimensioned images indra/newview/llmanip.cpp, indra/newview/llmanipscale.cpp - "Changed hardcoded 256 constants and such to width functions" -a50f0008b2indra/newview/llpatchvertexarray.cpp -fa8e1f033b- Support patches of non power of two width indra/newview/llworldmap.h - conflict Conflicts: indra/llmessage/patch_code.cpp - My version cleaned up a bit of code duplication, so this was applied, within the new tags indra/llmessage/patch_code.h - b_large_patch in decode_patch_header defaults to false, indra/newview/llcloud.cpp patch removed. indra/llmessage/patch_dct.h - false positive indra/newview/llagent.cpp - false positive indra/newview/llfloaterregioninfo.cpp - nonsl wacky textures support meets the refactor. indra/newview/llfloaterworldmap.cpp - false positive indra/newview/llglsandbox.cpp - false positive indra/newview/llnetmap.cpp - small changes for type consistency brought into FS' patch, nothing important; also adds change to LLNetMap:draw removing getRegionWidthInMeters to keep using the constant REGION_WIDTH indra/newview/llpanelobject.cpp - Get the region width of the object we're editing for maximum pasted x/y coords indra/newview/llstartup.cpp - [Fixes old issues] My old patch did not fully use first_sim_size_x here, this has been fixed. The unused first_sim_size_y has been removed. indra/newview/llsurface.cpp - rebuildWater isn't used, removed for now. Styling conflicts otherwise. indra/newview/llsurfacepatch.cpp - remove FS patch that comments out code that isn't even in the modern source; cleaned up a mess of tags with more clear explanation, perhaps it can be expanded upon though. Some styling conflicts. indra/newview/llviewermessage.cpp - Fix the problem? setRegionWidth by number. indra/newview/llviewerobject.cpp - false positive indra/newview/llviewerparcelmgr.cpp - just styling conflicts indra/newview/llviewerparcelmgr.h - false positive indra/newview/llviewerparceloverlay.cpp - false positive indra/newview/llviewerparceloverlay.h - false positive indra/newview/llviewerregion.cpp - cleaned up LLViewerRegion::getCompositionXY patches, they're more in the way than they're worth; removed DispatchOpenRegionSettings capability mention for now, it's not related to variable regions. Also remove rebuildWater, it's not used right now. indra/newview/llvowater.cpp - false positive indra/newview/llwind.cpp - remove decode_patch_header patches for false, since we have a default; otherwise false positive. indra/newview/llworld.* - [Fixes old issues] Remove setRegionWidth by LLMessageSystem as the messages used are not always the same, the by number one remains of course. - Retained separation of connecting neighbors through the old method when the width is 256 - updateLimits() would never have been merged in, we have an entirely different grid manager, therefore it's removed. - Fix the stupidity passed on over the years wherein a static constant variable would hold the same value as the first call to setLandFarClip.. indra/newview/llworldmap.cpp -36e6946c96Aurora map workaround stuffs, parts removed; rework of LLWorldMap::simInfoFromHandle indra/newview/llworldmap.h - Cleaned up organization, avoid making members public, and fixed tagging
This commit is contained in:
@@ -43,6 +43,7 @@
|
||||
#include "llmapresponders.h"
|
||||
#include "llviewercontrol.h"
|
||||
#include "llfloaterworldmap.h"
|
||||
#include "lltexturecache.h"
|
||||
#include "lltracker.h"
|
||||
#include "llviewertexturelist.h"
|
||||
#include "llviewerregion.h"
|
||||
@@ -94,12 +95,17 @@ LLSimInfo::LLSimInfo(U64 handle)
|
||||
|
||||
void LLSimInfo::setLandForSaleImage (LLUUID image_id)
|
||||
{
|
||||
const bool is_aurora = gHippoGridManager->getConnectedGrid()->isAurora();
|
||||
if (is_aurora && mMapImageID[SIM_LAYER_OVERLAY].isNull() && image_id.notNull() && gTextureList.findImage(image_id))
|
||||
LLAppViewer::getTextureCache()->removeFromCache(image_id);
|
||||
|
||||
mMapImageID[SIM_LAYER_OVERLAY] = image_id;
|
||||
|
||||
// Fetch the image
|
||||
if (mMapImageID[SIM_LAYER_OVERLAY].notNull())
|
||||
{
|
||||
mLayerImage[SIM_LAYER_OVERLAY] = LLViewerTextureManager::getFetchedTexture(mMapImageID[SIM_LAYER_OVERLAY], MIPMAP_TRUE, LLGLTexture::BOOST_MAP, LLViewerTexture::LOD_TEXTURE);
|
||||
if (is_aurora) mLayerImage[SIM_LAYER_OVERLAY]->forceImmediateUpdate();
|
||||
mLayerImage[SIM_LAYER_OVERLAY]->setAddressMode(LLTexUnit::TAM_CLAMP);
|
||||
}
|
||||
else
|
||||
@@ -378,32 +384,28 @@ LLSimInfo* LLWorldMap::simInfoFromPosGlobal(const LLVector3d& pos_global)
|
||||
|
||||
LLSimInfo* LLWorldMap::simInfoFromHandle(const U64 handle)
|
||||
{
|
||||
// <FS:CR> Aurora Sim
|
||||
//sim_info_map_t::iterator it = mSimInfoMap.find(handle);
|
||||
//if (it != mSimInfoMap.end())
|
||||
//{
|
||||
// return it->second;
|
||||
std::map<U64, LLSimInfo*>::const_iterator it;
|
||||
for (it = LLWorldMap::getInstance()->mSimInfoMap.begin(); it != LLWorldMap::getInstance()->mSimInfoMap.end(); ++it)
|
||||
sim_info_map_t::const_iterator it = mSimInfoMap.find(handle);
|
||||
if (it != mSimInfoMap.end())
|
||||
{
|
||||
const U64 hndl = (*it).first;
|
||||
LLSimInfo* info = (*it).second;
|
||||
if(hndl == handle)
|
||||
{
|
||||
return info;
|
||||
}
|
||||
U32 x = 0, y = 0;
|
||||
from_region_handle(handle, &x, &y);
|
||||
U32 checkRegionX, checkRegionY;
|
||||
from_region_handle(hndl, &checkRegionX, &checkRegionY);
|
||||
|
||||
if(x >= checkRegionX && x < (checkRegionX + info->mSizeX) &&
|
||||
y >= checkRegionY && y < (checkRegionY + info->mSizeY))
|
||||
{
|
||||
return info;
|
||||
}
|
||||
// </FS:CR> Aurora Sim
|
||||
return it->second;
|
||||
}
|
||||
|
||||
// <FS:CR> Aurora Sim
|
||||
U32 x = 0, y = 0;
|
||||
from_region_handle(handle, &x, &y);
|
||||
for (it = mSimInfoMap.begin(); it != mSimInfoMap.end(); ++it)
|
||||
{
|
||||
U32 checkRegionX, checkRegionY;
|
||||
from_region_handle((*it).first, &checkRegionX, &checkRegionY);
|
||||
|
||||
LLSimInfo* info = (*it).second;
|
||||
if (x >= checkRegionX && x < (checkRegionX + info->getSizeX()) &&
|
||||
y >= checkRegionY && y < (checkRegionY + info->getSizeY()))
|
||||
{
|
||||
return info;
|
||||
}
|
||||
}
|
||||
// </FS:CR> Aurora Sim
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user