}// 248 public static AdvDupeObject GetTableRef(Byte [] b, ref Int32 index, Dupe dupe) { Int16 Id = BitConverter.ToInt16(b, index); index += sizeof(Int16); return(new AdvDupeObject(new AdvDupeRefrence(dupe.RefrancedObjects [Id]))); } // 247
public static void DeSerilize(FileStream FSTM, Dupe dupe) { Byte [] RawData = DeCompress(FSTM); Int32 Index = 0; AdvDupeObject Obj = Read(RawData, ref Index, dupe); if (Obj.Type != AdvDupeObjectType.Table) { throw new DataMalFormedException("Dupe.AdvancedDupeRevisions.Revision5.DeSerilize(FileStream,Dupe)"); } dupe.DupeData = Obj.TypeTable; }
public static void DeSerilize(FileStream FSTM, Dupe dupe) { string RawData = Encoding.Default.GetString(DeCompress(FSTM)); Int32 Index = 0; RawData = RawData.Replace("\r\r\n\t\r\n", "\t\t\t\t"); RawData = RawData.Replace("\r\n\t\n", "\t\t\t\t"); RawData = RawData.Replace("\r\n", "\n"); RawData = RawData.Replace("\t\t\t\t", "\r\n\t\n"); AdvDupeObject Obj = Revision4.Read(Encoding.Default.GetBytes(RawData), ref Index, dupe); if (Obj.Type != AdvDupeObjectType.Table) { throw new DataMalFormedException("Dupe.AdvancedDupeRevisions.Revision3.DeSerilize(FileStream,Dupe)"); } dupe.DupeData = Obj.TypeTable; }
public static AdvDupeObject getTable(Byte [] b, ref Int32 index, Dupe dupe) { AdvDupeObject t = new AdvDupeObject(new Table()); Object Key = null; do { Key = Read(b, ref index, dupe); if (Key != null) { t.TypeTable.Add(Key.ToString(), Read(b, ref index, dupe)); } } while (Key != null); Int32 Size = dupe.RefrancedObjects.Length; Array.Resize(ref dupe.RefrancedObjects, Size + 1); dupe.RefrancedObjects [Size] = t; return(new AdvDupeObject(new AdvDupeRefrence(dupe.RefrancedObjects [Size]))); }//255
public static AdvDupeObject Read(Byte [] b, ref Int32 index, Dupe dupe) { index++; switch (b [index - 1]) { case 0: return(new AdvDupeObject("")); case 255: return(getTable(b, ref index, dupe)); case 254: return(getArray(b, ref index, dupe)); case 253: return(getBooleanT(b, ref index)); case 252: return(getBooleanF(b, ref index)); case 251: return(getDouble(b, ref index)); case 250: return(getVector(b, ref index)); case 249: return(GetAngle(b, ref index)); case 248: return(GetString(b, ref index)); case 247: return(GetTableRef(b, ref index, dupe)); case 246: return(GetNull(b, ref index)); default: return(GetUndef(b, ref index)); } }
}//255 public static AdvDupeObject getArray(Byte [] b, ref Int32 index, Dupe dupe) { AdvDupeObject a = new AdvDupeObject(new AdvDupeObject [0]); AdvDupeObject Var = null; do { Var = Read(b, ref index, dupe); if (Var != null) { Int32 size = a.TypeArray.Length; Array.Resize(ref a.RefTypeArray, size + 1); a.TypeArray [size] = Var; } } while (Var == null); Int32 Size = dupe.RefrancedObjects.Length; Array.Resize(ref dupe.RefrancedObjects, Size + 1); dupe.RefrancedObjects [Size] = a; return(new AdvDupeObject(new AdvDupeRefrence(dupe.RefrancedObjects [Size]))); }// 254