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:
@@ -36,7 +36,6 @@
|
||||
#include "timing.h"
|
||||
#include "llsky.h"
|
||||
#include "llviewercamera.h"
|
||||
#include "llregionhandle.h" // <FS:CR> Aurora Sim
|
||||
|
||||
// For getting composition values
|
||||
#include "llviewerregion.h"
|
||||
@@ -251,30 +250,23 @@ void LLSurfacePatch::calcNormal(const U32 x, const U32 y, const U32 stride)
|
||||
const F32 mpg = mSurfacep->getMetersPerGrid() * stride;
|
||||
|
||||
// <FS:CR> Aurora Sim
|
||||
// Singu Note: poffsets gets an extra space each for surface stride (tag clutter removed)
|
||||
//S32 poffsets[2][2][2];
|
||||
S32 poffsets[2][2][3];
|
||||
// </FS:CR> Aurora Sim
|
||||
poffsets[0][0][0] = x - stride;
|
||||
poffsets[0][0][1] = y - stride;
|
||||
// <FS:CR> Aurora Sim
|
||||
poffsets[0][0][2] = surface_stride;
|
||||
// </FS:CR> Aurora Sim
|
||||
|
||||
poffsets[0][1][0] = x - stride;
|
||||
poffsets[0][1][1] = y + stride;
|
||||
// <FS:CR> Aurora Sim
|
||||
poffsets[0][1][2] = surface_stride;
|
||||
// </FS:CR> Aurora Sim
|
||||
|
||||
poffsets[1][0][0] = x + stride;
|
||||
poffsets[1][0][1] = y - stride;
|
||||
// <FS:CR> Aurora Sim
|
||||
poffsets[1][0][2] = surface_stride;
|
||||
// </FS:CR> Aurora Sim
|
||||
|
||||
poffsets[1][1][0] = x + stride;
|
||||
poffsets[1][1][1] = y + stride;
|
||||
// <FS:CR> Aurora Sim
|
||||
poffsets[1][1][2] = surface_stride;
|
||||
// </FS:CR> Aurora Sim
|
||||
|
||||
@@ -312,12 +304,6 @@ void LLSurfacePatch::calcNormal(const U32 x, const U32 y, const U32 stride)
|
||||
if (!ppatches[i][j]->getNeighborPatch(SOUTH))
|
||||
{
|
||||
poffsets[i][j][1] = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
// <FS:CR> Aurora Sim
|
||||
ppatches[i][j] = ppatches[i][j]->getNeighborPatch(SOUTH);
|
||||
poffsets[i][j][1] += patch_width;
|
||||
poffsets[i][j][2] = ppatches[i][j]->getSurface()->getGridsPerEdge();
|
||||
// </FS>CR> Aurora Sim
|
||||
}
|
||||
@@ -359,28 +345,19 @@ void LLSurfacePatch::calcNormal(const U32 x, const U32 y, const U32 stride)
|
||||
*(ppatches[0][0]->mDataZ
|
||||
+ poffsets[0][0][0]
|
||||
// <FS:CR> Aurora Sim
|
||||
//+ poffsets[0][0][1]*surface_stride));
|
||||
// Singu Note: multiply the y poffsets by its own surface stride (tag clutter removed)
|
||||
+ poffsets[0][0][1]*poffsets[0][0][2]));
|
||||
// </FS:CR> Aurora Sim
|
||||
LLVector3 p01(-mpg,+mpg,
|
||||
*(ppatches[0][1]->mDataZ
|
||||
+ poffsets[0][1][0]
|
||||
// <FS:CR> Aurora Sim
|
||||
//+ poffsets[0][1][1]*surface_stride));
|
||||
+ poffsets[0][1][1]*poffsets[0][1][2]));
|
||||
// </FS:CR> Aurora Sim
|
||||
LLVector3 p10(+mpg,-mpg,
|
||||
*(ppatches[1][0]->mDataZ
|
||||
+ poffsets[1][0][0]
|
||||
// <FS:CR> Aurora Sim
|
||||
//+ poffsets[1][0][1]*surface_stride));
|
||||
+ poffsets[1][0][1]*poffsets[1][0][2]));
|
||||
// </FS:CR> Aurora Sim
|
||||
LLVector3 p11(+mpg,+mpg,
|
||||
*(ppatches[1][1]->mDataZ
|
||||
+ poffsets[1][1][0]
|
||||
// <FS:CR> Aurora Sim
|
||||
//+ poffsets[1][1][1]*surface_stride));
|
||||
+ poffsets[1][1][1]*poffsets[1][1][2]));
|
||||
// </FS:CR> Aurora Sim
|
||||
|
||||
@@ -520,18 +497,6 @@ void LLSurfacePatch::updateNormals()
|
||||
// update the north edge
|
||||
if (mNormalsInvalid[NORTHEAST] || mNormalsInvalid[NORTH] || mNormalsInvalid[NORTHWEST])
|
||||
{
|
||||
// <FS:CR> Aurora Sim
|
||||
/*
|
||||
if(!getNeighborPatch(EAST) && getNeighborPatch(NORTHEAST))
|
||||
{
|
||||
if(getNeighborPatch(NORTHEAST)->getHasReceivedData())
|
||||
{
|
||||
*(getNeighborPatch(NORTHEAST)->mDataZ) = 100.0f;
|
||||
}
|
||||
}
|
||||
*/
|
||||
// </FS:CR> Aurora Sim
|
||||
|
||||
for (i = 0; i <= grids_per_patch_edge; i++)
|
||||
{
|
||||
calcNormal(i, grids_per_patch_edge, 2);
|
||||
@@ -546,12 +511,9 @@ void LLSurfacePatch::updateNormals()
|
||||
if (mNormalsInvalid[NORTHWEST] || mNormalsInvalid[WEST] || mNormalsInvalid[SOUTHWEST])
|
||||
{
|
||||
// <FS:CR> Aurora Sim
|
||||
if(!getNeighborPatch(NORTH) && getNeighborPatch(NORTHWEST))
|
||||
if (!getNeighborPatch(NORTH) && getNeighborPatch(NORTHWEST) && getNeighborPatch(NORTHWEST)->getHasReceivedData())
|
||||
{
|
||||
if(getNeighborPatch(NORTHWEST)->getHasReceivedData())
|
||||
{
|
||||
*(mDataZ + grids_per_patch_edge*grids_per_edge) = *(getNeighborPatch(NORTHWEST)->mDataZ + grids_per_patch_edge);
|
||||
}
|
||||
*(mDataZ + grids_per_patch_edge*grids_per_edge) = *(getNeighborPatch(NORTHWEST)->mDataZ + grids_per_patch_edge);
|
||||
}
|
||||
// </FS:CR> Aurora Sim
|
||||
|
||||
@@ -567,13 +529,9 @@ void LLSurfacePatch::updateNormals()
|
||||
if (mNormalsInvalid[SOUTHWEST] || mNormalsInvalid[SOUTH] || mNormalsInvalid[SOUTHEAST])
|
||||
{
|
||||
// <FS:CR> Aurora Sim
|
||||
if(!getNeighborPatch(EAST) && getNeighborPatch(SOUTHEAST))
|
||||
if (!getNeighborPatch(EAST) && getNeighborPatch(SOUTHEAST) && getNeighborPatch(SOUTHEAST)->getHasReceivedData())
|
||||
{
|
||||
if(getNeighborPatch(SOUTHEAST)->getHasReceivedData())
|
||||
{
|
||||
*(mDataZ + grids_per_patch_edge) =
|
||||
*(getNeighborPatch(SOUTHEAST)->mDataZ + grids_per_patch_edge * getNeighborPatch(SOUTHEAST)->getSurface()->getGridsPerEdge());
|
||||
}
|
||||
*(mDataZ + grids_per_patch_edge) = *(getNeighborPatch(SOUTHEAST)->mDataZ + grids_per_patch_edge * getNeighborPatch(SOUTHEAST)->getSurface()->getGridsPerEdge());
|
||||
}
|
||||
// </FS:CR> Aurora Sim
|
||||
|
||||
@@ -658,19 +616,13 @@ void LLSurfacePatch::updateNormals()
|
||||
S32 own_offset = 0, neighbor_offset = 0;
|
||||
from_region_handle(mSurfacep->getRegion()->getHandle(), &own_xpos, &own_ypos);
|
||||
from_region_handle(getNeighborPatch(NORTHEAST)->mSurfacep->getRegion()->getHandle(), &neighbor_xpos, &neighbor_ypos);
|
||||
if(own_ypos >= neighbor_ypos) {
|
||||
if (own_ypos >= neighbor_ypos)
|
||||
neighbor_offset = own_ypos - neighbor_ypos;
|
||||
}
|
||||
else {
|
||||
else
|
||||
own_offset = neighbor_ypos - own_ypos;
|
||||
}
|
||||
// </FS:CR> Aurora Sim
|
||||
|
||||
*(mDataZ + grids_per_patch_edge + grids_per_patch_edge*grids_per_edge) =
|
||||
*(getNeighborPatch(NORTHEAST)->mDataZ +
|
||||
// <FS:CR> Aurora Sim
|
||||
(grids_per_edge + neighbor_offset - own_offset - 1) *
|
||||
getNeighborPatch(NORTHEAST)->getSurface()->getGridsPerEdge() );
|
||||
*(getNeighborPatch(NORTHEAST)->mDataZ + (grids_per_edge + neighbor_offset - own_offset - 1) * getNeighborPatch(NORTHEAST)->getSurface()->getGridsPerEdge());
|
||||
// </FS:CR> Aurora Sim
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user