Variable Size Regions! Support for prehash RegionSizeX and large patches. (WIP)
Mostly from Ukando, tweaked a bit to be cleaner, and a little less dramatic. decode_patch_header now takes a bool optionally, as third argument. _PREHASH_RegionSizeX is the only used of the two _PREHASH_RegionSize*. llsurface.cpp: Copy the connectNeighbor for variable size regions almost directly from Ukando llsurfacepatch.cpp: Patch code from ukando and voodoo. Changed hardcoded 256 constants and such to width functions in: llglsandbox.cpp, llsurface.cpp, llviewerregion.cpp, llviewerparcelmanager, llviewerparcelmgr.cpp, llvowater.cpp, llworld.cpp Use region specific width in: llagent.cpp, llglsandbox.cpp, llmanip.cpp, llmanipscale.cpp, llpanelobject.cpp, llviewerbject.cpp, llwind.cpp Use 256 in llnetmap.cpp in places... llfloaterregioninfo.cpp: Aurora grid has wacky textures. Add LLViewerParcelMgr::widthUpdate() for updating mParcelsPerEdge given a region's width. Used in llstartup now. Add LLWorld::setWidth() for getting a region's size from LLMessageSystem pointers and setting mWidth and mWidthInMeters, accordingly. Called in llviewermessage.cpp as well.
This commit is contained in:
@@ -113,6 +113,10 @@ public:
|
||||
LLSurfacePatch * resolveLandPatchGlobal(const LLVector3d &position);
|
||||
LLVector3 resolveLandNormalGlobal(const LLVector3d &position); // absolute frame
|
||||
|
||||
// update region size
|
||||
void setRegionWidth(LLMessageSystem* msg);
|
||||
void setRegionWidth(const U32 width = 0);
|
||||
|
||||
U32 getRegionWidthInPoints() const { return mWidth; }
|
||||
F32 getRegionScale() const { return mScale; }
|
||||
|
||||
@@ -177,12 +181,12 @@ private:
|
||||
region_list_t mCulledRegionList;
|
||||
|
||||
// Number of points on edge
|
||||
static const U32 mWidth;
|
||||
static U32 mWidth;
|
||||
|
||||
// meters/point, therefore mWidth * mScale = meters per edge
|
||||
static const F32 mScale;
|
||||
|
||||
static const F32 mWidthInMeters;
|
||||
static F32 mWidthInMeters;
|
||||
|
||||
F32 mLandFarClip; // Far clip distance for land.
|
||||
LLPatchVertexArray mLandPatch;
|
||||
|
||||
Reference in New Issue
Block a user