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); }
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); }
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); }