Exemple #1
0
        public void Parse()
        {
            od = new AutoAdvanceDataReader(ds);
              bool cont;
              do {
            od.ReadUInt();
            string sn = GetSectionName();
            DetailParser dp;
            if ("MODEL_PARAM_ST".Equals(sn)) {
              dp = ParseModelParam;
            }
            else if ("EVENT_PARAM_ST".Equals(sn)) {
              dp = ParseEventParam;
            }
            else if ("POINT_PARAM_ST".Equals(sn)) {
              dp = ParsePointParam;
            }
            else if ("PARTS_PARAM_ST".Equals(sn)) {
              dp = ParsePartParam;
            }
            else {
              Console.WriteLine("unknown section: {0}", sn);
              return;
            }

            cont = ParseTable(dp);

              } while (cont);
        }
Exemple #2
0
 public HKXParser(DataStream d)
 {
     this.d = d;
       this.od = new AutoAdvanceDataReader(d);
 }
Exemple #3
0
        public void Parse()
        {
            AutoAdvanceDataReader od = new AutoAdvanceDataReader(ds);
              od.ReadUInt();
              od.ReadUInt();
              uint count = od.ReadUInt();

              for (uint i = 0; i < count; ++i) {
            Texture2D t = new Texture2D();

            od.Offset = i * 0x1C + 0x10;
            t.DataOffset = od.ReadUInt();
            t.DataLen = od.ReadUInt();
            t.Type = od.ReadUShort();
            t.Subtype = od.ReadUShort();

            t.Width = od.ReadUShort();
            t.Height = od.ReadUShort();
            od.ReadUInt();
            uint nofs = od.ReadUInt();
            t.Name = ds.ReadStr(nofs);

            if (LoadTex == (int)i || LoadTex == -1) {
              t.Data = ds.ReadBytes(t.DataOffset, t.DataLen);
            }

            Tex.Add(t);
              }
        }