Exemple #1
0
        public bool LoadV3(BinaryReader b)
        {
            int count        = b.ReadInt32();
            int origMapWidth = b.ReadInt32();

            for (int i = 0; i < count; i++)
            {
                MaskItem item = new MaskItem();
                item.mMask = MaskFactory.GetNewMask();
                item.Name  = b.ReadString();

                JaggedContainer <float> container = item.mMask as JaggedContainer <float>;
                container.LoadByStripe(b,
                                       (JaggedContainer <float> .LoadStripeDelegate)(delegate(BinaryReader r, float[] values)
                {
                    for (int j = 0; j < values.Length; j++)
                    {
                        values[j] = r.ReadSingle();
                    }
                }));

                MaskCheckList.Items.Add(item, false);
            }

            return(true);
        }
Exemple #2
0
        public bool LoadV4(BinaryReader b)
        {
            int count        = b.ReadInt32();
            int origMapWidth = b.ReadInt32();

            for (int i = 0; i < count; i++)
            {
                MaskItem item = new MaskItem();
                item.Name = b.ReadString();
                string type = b.ReadString();
                if (type == typeof(ArrayBasedMask).ToString())
                {
                    item.mMask = MaskFactory.GetNewMask();
                    JaggedContainer <float> container = item.mMask as JaggedContainer <float>;
                    container.LoadByStripe(b,
                                           (JaggedContainer <float> .LoadStripeDelegate)(delegate(BinaryReader r, float[] values)
                    {
                        for (int j = 0; j < values.Length; j++)
                        {
                            values[j] = r.ReadSingle();
                        }
                    }));
                }
                else if (type == typeof(GraphBasedMask).ToString())
                {
                    long len = b.ReadInt64();
                    item.mMask = new GraphBasedMask(b, len);
                }

                MaskCheckList.Items.Add(item, false);
            }

            return(true);
        }
Exemple #3
0
        public bool LoadV2(BinaryReader b)
        {
            int count = b.ReadInt32();

            for (int i = 0; i < count; i++)
            {
                MaskItem item = new MaskItem();
                item.mMask = MaskFactory.GetNewMask();
                item.Name  = b.ReadString();

                JaggedContainer <float> container = item.mMask as JaggedContainer <float>;
                container.LoadByStripe(b,
                                       (JaggedContainer <float> .LoadStripeDelegate)(delegate(BinaryReader r, float[] values)
                {
                    for (int j = 0; j < values.Length; j++)
                    {
                        values[j] = r.ReadSingle();
                    }
                }));

                //CLM [07.27.07]
                //these older versions need to be scaled by 0.5 because of a
                //massive terrain scaling change.
                int oldSize = TerrainGlobals.getTerrain().getNumXVerts() * 2;
                resampleJaggedArrayFloat(ref container, oldSize, oldSize, TerrainGlobals.getTerrain().getNumXVerts(), TerrainGlobals.getTerrain().getNumXVerts(), 0);

                MaskCheckList.Items.Add(item, false);
            }

            return(true);
        }