public void Write(DataWriter writer) { writer.Write((uint)EntryNameHash); writer.Write(EntryKey); }
public void Write(DataWriter writer) { writer.Write(Ident); writer.Write(Length); }
public void Write(DataWriter w, bool hd) { w.Write(CenterX); w.Write(CenterY); w.Write(SizeX); w.Write(SizeY); w.Write(NodeIndex); w.Write(NodeCount); if (hd) { w.Write(Short7); w.Write(Short8); w.Write(Float1); w.Write(Byte1); w.Write(Byte2); w.Write(Byte3); w.Write(Byte4); } else { w.Write(Byte1); w.Write(Byte2); } }
public void Write(DataWriter writer) { writer.Write((uint)NameHash); writer.Write(Offset); }
public void Write(DataWriter w) { w.Write(Start); w.Write(Count); w.Write(DataOffset); }
public void Write(DataWriter w) { w.Write(X); w.Write(Y); w.Write(Z); }
private void Write(DataWriter w) { var d = MaxHeights; if (Compressed > 0) { var ch = new CompHeader[Height]; var d1 = new List <byte>(); var d2 = new List <byte>(); for (int y = 0; y < Height; y++) { var start = 0; var end = 0; for (int x = 0; x < Width; x++) { if (MaxHeights[y * Width + x] != 0) { start = x; break; } } for (int x = Width - 1; x >= 0; x--) { if (MaxHeights[y * Width + x] != 0) { end = x + 1; break; } } var count = end - start; var offset = (count > 0) ? d1.Count - start : 0; for (int i = 0; i < count; i++) { var x = start + i; var n = y * Width + x; d1.Add(MaxHeights[n]); d2.Add(MinHeights[n]); } var h = new CompHeader() { Start = (ushort)start, Count = (ushort)count, DataOffset = offset }; ch[y] = h; } d1.AddRange(d2);//the 2 sets of compressed data are just smushed together d = d1.ToArray(); CompHeaders = ch; Length = (uint)(d.Length + Height * 8); } else { Length = (uint)d.Length; } w.Write(Magic); w.Write(VersionMajor); w.Write(VersionMinor); w.Write(Pad); w.Write(Compressed); w.Write(Width); w.Write(Height); w.Write(BBMin); w.Write(BBMax); w.Write(Length); if (Compressed > 0) { for (int i = 0; i < Height; i++) { CompHeaders[i].Write(w); } } w.Write(d); }
public void Write(DataWriter w) { w.Write(Name); w.Write(ParentName); w.Write(ContentFlags); w.Write(streamingExtentsMin); w.Write(streamingExtentsMax); w.Write(entitiesExtentsMin); w.Write(entitiesExtentsMax); w.Write(Unk1); w.Write(Unk2); w.Write(Unk3); w.Write(Unk4); //if (Unk4 == 0xFE) //{ // if (UnkExtra == null) // { // UnkExtra = new MapDataStoreNodeExtra(); // } // UnkExtra.Write(w); //} }
public void Write(DataWriter w) { w.Write(Unk01); w.Write(Unk02); w.Write(Unk03); w.Write(Name); w.Write(Parent); w.Write(Position); w.Write(Orientation.ToVector4()); w.Write(BBMin); w.Write(BBMax); w.Write(Unk11); w.Write(Unk12); w.Write(Unk13); w.Write(Unk14); }
public byte[] Save() { MemoryStream s = new MemoryStream(); DataWriter w = new DataWriter(s, Endianess.LittleEndian); w.Write("[VERSION]\n" + Version + "\n"); while (w.Position < 100) { w.Write((byte)0); } WriteString(w, "<fileDates>\n"); if (FileDates != null) { foreach (var d in FileDates) { WriteString(w, d.ToCacheFileString()); WriteString(w, "\n"); } } WriteString(w, "</fileDates>\n"); WriteString(w, "<module>\nfwMapDataStore\n"); var modlen = (AllMapNodes?.Length ?? 0) * 64; //if (AllMapNodes != null) //{ // foreach (var n in AllMapNodes) // { // if (n.Unk4 == 0xFE) // { // modlen += 96; // } // } //} w.Write(modlen); if (AllMapNodes != null) { foreach (var n in AllMapNodes) { n.Write(w); } } WriteString(w, "</module>\n"); WriteString(w, "<module>\nCInteriorProxy\n"); w.Write((AllCInteriorProxies?.Length ?? 0) * 104); if (AllCInteriorProxies != null) { foreach (var p in AllCInteriorProxies) { p.Write(w); } } WriteString(w, "</module>\n"); WriteString(w, "<module>\nBoundsStore\n"); w.Write((AllBoundsStoreItems?.Length ?? 0) * 32); if (AllBoundsStoreItems != null) { foreach (var b in AllBoundsStoreItems) { b.Write(w); } } WriteString(w, "</module>\n"); var buf = new byte[s.Length]; s.Position = 0; s.Read(buf, 0, buf.Length); return(buf); }
private void Write(DataWriter w) { w.Write(Magic); }