Files
SingularityViewer/indra/llmessage/patch_code.h
Lirusaito a50f0008b2 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.
2013-01-03 05:57:55 -05:00

47 lines
1.7 KiB
C++

/**
* @file patch_code.h
* @brief Function declarations for encoding and decoding patches.
*
* $LicenseInfo:firstyear=2000&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#ifndef LL_PATCH_CODE_H
#define LL_PATCH_CODE_H
class LLBitPack;
class LLGroupHeader;
class LLPatchHeader;
void init_patch_coding(LLBitPack &bitpack);
void code_patch_group_header(LLBitPack &bitpack, LLGroupHeader *gopp);
void code_patch_header(LLBitPack &bitpack, LLPatchHeader *ph, S32 *patch);
void code_end_of_data(LLBitPack &bitpack);
void code_patch(LLBitPack &bitpack, S32 *patch, S32 postquant);
void end_patch_coding(LLBitPack &bitpack);
void init_patch_decoding(LLBitPack &bitpack);
void decode_patch_group_header(LLBitPack &bitpack, LLGroupHeader *gopp);
void decode_patch_header(LLBitPack &bitpack, LLPatchHeader *ph, bool b_large_patch = false);
void decode_patch(LLBitPack &bitpack, S32 *patches);
#endif