OpenMetaverse.TerrainCompressor.CreatePatch C# (CSharp) Method

CreatePatch() public static method

public static CreatePatch ( OpenMetaverse.BitPack output, float patchData, int x, int y ) : void
output OpenMetaverse.BitPack
patchData float
x int
y int
return void
        public static void CreatePatch(BitPack output, float[] patchData, int x, int y)
        {
            if (patchData.Length != 16 * 16)
                throw new ArgumentException("Patch data must be a 16x16 array");

            TerrainPatch.Header header = PrescanPatch(patchData);
            header.QuantWBits = 136;
            header.PatchIDs = (y & 0x1F);
            header.PatchIDs += (x << 5);

            // NOTE: No idea what prequant and postquant should be or what they do
            int[] patch = CompressPatch(patchData, header, 10);
            int wbits = EncodePatchHeader(output, header, patch);
            EncodePatch(output, patch, 0, wbits);
        }