SetAsBox(hx, hy);
private void openToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog eLoad = new OpenFileDialog(); eLoad.Filter = "Elements File (*.ecwld)|*.ecwld|All Files (*.*)|*.*"; eLoad.RestoreDirectory = false; if (eLoad.ShowDialog() == System.Windows.Forms.DialogResult.OK && File.Exists(eLoad.FileName)) { FileStream fs = File.OpenRead(eLoad.FileName); BinaryReader br = new BinaryReader(fs); string ecwldPath = Path.GetDirectoryName(eLoad.FileName) + Path.DirectorySeparatorChar + Path.GetFileNameWithoutExtension(eLoad.FileName) + ".ecbsd"; FileStream fs2 = File.OpenRead(ecwldPath); BinaryReader ecbsd = new BinaryReader(fs2); try { EcwldStructure p = new EcwldStructure(); p.version = ecbsd.ReadInt32(); p.signature = ecbsd.ReadInt32(); p.noint = ecbsd.ReadInt32(); p.size = ecbsd.ReadInt32(); p.garb = ecbsd.ReadBytes(60); EcwldFiles[] kk = new EcwldFiles[p.size]; for (int paramString = 0; paramString < p.size; paramString++) { EcwldFiles k = new EcwldFiles(); k.lenght = ecbsd.ReadInt32(); k.fileName = Encoding.UTF8.GetString(ecbsd.ReadBytes(k.lenght));// Converter.ToString(br.ReadBytes(k.a)); kk[paramString] = k; } EcbsdData f = new EcbsdData(); f.a = br.ReadInt32(); f.b = br.ReadInt32(); f.c = br.ReadSingle(); f.d = br.ReadSingle(); f.e = br.ReadSingle(); f.f = br.ReadInt32(); f.g = br.ReadInt32(); f.h = br.ReadInt32(); f.i = br.ReadInt32(); f.j = br.ReadInt32(); f.k = br.ReadInt32(); f.l = br.ReadInt32(); f.m = br.ReadInt32(); f.n = br.ReadInt32(); f.o = br.ReadBytes(60); int[] g = new int[f.g]; for (int i2 = 0; i2 < g.Length; i2++) { g[i2] = br.ReadInt32(); } int n3 = 0; while (n3 < f.g) { br.BaseStream.Position = g[n3]; int n5 = f.b; MapInterface f2 = n5 >= 9 ? new MapInterface() : null; f2.read(br); a.Add(f2); int n4 = 0; if (f2.c > 0) { n4 = 0; while (n4 < f2.c) { PositionData k3 = new PositionData(); try { k3.a = br.ReadInt32(); k3.b.ar(br); } catch { } f2.n.Add(k3); ++n4; } } if (f2.d > 0) { n4 = 0; while (n4 < f2.d) { m k2 = new m(); new m().a = br.ReadInt32(); k2.b = br.ReadInt32(); k2.c = "WATER"; f2.j.Add(k2); ae((m)k2, n3); ++n4; } } if (f2.f > 0) { n4 = 0; while (n4 < f2.f) { m k2 = new m(); k2.a = br.ReadInt32(); k2.b = br.ReadInt32(); k2.c = "ORN"; f2.l.Add(k2); ae((m)k2, n3); ++n4; } } if (f2.g > 0) { n4 = 0; while (n4 < f2.g) { m k2 = new m(); k2.a = br.ReadInt32(); k2.b = br.ReadInt32(); k2.c = "BOX"; f2.h.Add(k2); ae((m)k2, n3); ++n4; } } if (f2.e > 0) { n4 = 0; while (n4 < f2.e) { m k2 = new m(); k2.a = br.ReadInt32(); k2.b = br.ReadInt32(); k2.c = "GRASS"; f2.k.Add(k2); this.ae((m)k2, n3); ++n4; } } if (f2.r > 0) { try { hx h2 = new hx(); h2.a = br.ReadInt32(); h2.b = br.ReadSingle(); h2.c.ar(br); h2.d.ar(br); h2.e.ar(br); h2.f = br.ReadSingle(); h2.g = br.ReadInt32(); h2.h = br.ReadSingle(); h2.i = br.ReadInt32(); h2.j = br.ReadInt32(); h2.k = br.ReadBytes(h2.j); } catch (IOException v1) { } } if (f2.s > 0) { gx g2 = new gx(); try { g2.a = br.ReadInt32(); g2.b.ar(br); g2.c.ar(br); g2.d.ar(br); g2.e = br.ReadInt32(); g2.f = br.ReadBytes(g2.e); g2.g = br.ReadInt32(); g2.h = Encoding.GetEncoding("gb2312").GetString(br.ReadBytes(g2.g)); } catch { } } if (f2.t > 0) { n4 = 0; while (n4 < f2.t) { m k2 = new m(); new m().a = br.ReadInt32(); k2.b = br.ReadInt32(); k2.c = "CRITTER"; f2.m.Add(k2); ae((m)k2, n3); ++n4; } } if (f2.u > 0) { n4 = 0; while (n4 < f2.u) { m k2 = new m(); new m().a = br.ReadInt32(); k2.b = br.ReadInt32(); k2.c = "BEZIER"; f2.i.Add(k2); this.ae((m)k2, n3); ++n4; } } if (f2.v > 0) { n4 = 0; while (n4 < f2.v) { j k2 = new j(); try { k2.a = br.ReadInt32(); k2.b.ar(br); k2.c = br.ReadSingle(); k2.d = br.ReadSingle(); k2.e = br.ReadInt32(); k2.f = br.ReadInt32(); k2.g = br.ReadInt32(); k2.h = Encoding.GetEncoding("gb2312").GetString(br.ReadBytes(k2.g));//br.ReadBytes(k2.g); } catch (IOException v3) { } f2.q.Add(k2); ++n4; } } ++n3; } } catch (Exception esad) { MessageBox.Show("ERR"); } } }