public void Write(NodeWriter writer, NodeEntry node)
        {
            var data = (DSDynamicConnections)node.Value;

            writer.WritePackedInt(data.Entries.Count);
            foreach (var entry in data.Entries)
            {
                writer.Write(entry.Unknown1);
            }

            foreach (var entry in data.Entries)
            {
                writer.WritePackedString(entry.Unknown2);

                writer.WritePackedInt(entry.Unknown3.Count);
                foreach (var val in entry.Unknown3)
                {
                    writer.Write(val);
                }

                writer.WritePackedInt(entry.Unknown4.Count);
                foreach (var val in entry.Unknown4)
                {
                    writer.Write(val);
                }

                writer.Write(entry.Unknown5);
                writer.WritePackedString(entry.Unknown6);
            }
        }
        public void Write(NodeWriter writer, NodeEntry node)
        {
            var data = (CharacterCustomizationAppearances)node.Value;

            writer.Write(data.DataExists);
            writer.Write(data.Unknown1);
            if (data.DataExists)
            {
                writer.Write(data.UnknownFirstBytes);

                WriteSection(writer, data.FirstSection);
                WriteSection(writer, data.SecondSection);
                WriteSection(writer, data.ThirdSection);

                writer.Write(data.StringTriples.Count);
                foreach (var st in data.StringTriples)
                {
                    WriteStringTriple(writer, st);
                }

                // Only when SaveVersion > 171
                writer.WritePackedInt(data.Strings.Count);
                foreach (var s in data.Strings)
                {
                    writer.WritePackedString(s);
                }
            }
        }
Exemple #3
0
        public void Write(NodeWriter writer, NodeEntry node)
        {
            var data = (ContainerManagerNPCLootBagsVer3LootedIDs)node.Value;

            writer.WritePackedInt(data.EntityIds.Count);
            foreach (var entityId in data.EntityIds)
            {
                writer.Write(entityId);
            }
        }
        public void Write(NodeWriter writer, NodeEntry node)
        {
            var data = (ContainerManagerLootSlotAvailability)node.Value;

            writer.WritePackedInt(data.Entries.Count);
            foreach (var entry in data.Entries)
            {
                writer.Write(entry.CNameHash);
            }

            foreach (var entry in data.Entries)
            {
                writer.Write(entry.Unknown1);
            }
        }
Exemple #5
0
        public void Write(NodeWriter writer, NodeEntry node)
        {
            var data = (FactsTable)node.Value;

            writer.WritePackedInt(data.FactEntries.Count);

            // Sort FactEntries by their hash before writing
            data.FactEntries = new ObservableCollection <FactsTable.FactEntry>(data.FactEntries.OrderBy(_ => _.Hash));

            foreach (var fact in data.FactEntries)
            {
                writer.Write(fact.Hash);
            }

            foreach (var fact in data.FactEntries)
            {
                writer.Write(fact.Value);
            }
        }
        public void Write(NodeWriter writer, NodeEntry node)
        {
            var data = (ContainerManagerNPCLootBagsVer2)node.Value;

            writer.WritePackedInt(data.Entries.Count);
            foreach (var entry in data.Entries)
            {
                writer.WritePackedString(entry.Unk_BaseClassName);
                writer.Write(entry.Unknown2);
                writer.Write((byte)entry.Items.Count);
                foreach (var item in entry.Items)
                {
                    writer.Write(item.Unk1_ItemTbdId);
                    writer.Write(item.Unk1_Seed);
                    writer.Write(item.Unk2_Counter);
                    writer.Write(item.Unk2_ItemTbdId);
                    writer.Write(item.Unk2_Seed);
                }
                writer.Write(entry.EntityId);
            }
        }
        public void Write(NodeWriter writer, NodeEntry node)
        {
            var data = (ContainerManagerInjectedLoot)node.Value;

            writer.WritePackedInt(data.Entries.Count);
            foreach (var entry in data.Entries)
            {
                writer.Write(entry.EntityId);
            }

            foreach (var entry in data.Entries)
            {
                writer.Write((byte)entry.Entries.Count);
                foreach (var subEntry in entry.Entries)
                {
                    writer.Write(subEntry.ItemTbdId);
                    writer.Write(subEntry.Unknown2);
                    writer.Write(subEntry.Unknown3);
                    writer.Write(subEntry.Unknown4);
                }
            }
        }