Example #1
0
        // Total size = 128 bytes
        public static NpcState Serdes(int i, NpcState npc, ISerializer s)
        {
            npc ??= new NpcState();
            s.Begin();
            var startOffset = s.Offset;

            npc.Id = s.TransformEnumU8(nameof(Id), npc.Id, Tweak <NpcCharacterId> .Instance);                                   // 0
            s.UInt8("dummy", 0);
            npc.ObjectNumber = s.Transform <ushort, ushort?>(nameof(ObjectNumber), npc.ObjectNumber, s.UInt16, Tweak.Instance); // 2
            npc.Unk4         = s.UInt16(nameof(Unk4), npc.Unk4);
            npc.Unk6         = s.UInt16(nameof(Unk6), npc.Unk6);
            npc.Unk8         = s.UInt8(nameof(Unk8), npc.Unk8);
            npc.Unk9         = s.Int64(nameof(Unk9), npc.Unk9);
            npc.Unk11        = s.UInt16(nameof(Unk11), npc.Unk11);
            npc.Unk13        = s.UInt16(nameof(Unk13), npc.Unk13);
            npc.Unk15        = s.UInt16(nameof(Unk15), npc.Unk15);
            npc.Unk17        = s.UInt16(nameof(Unk17), npc.Unk17);
            npc.Unk19        = s.UInt16(nameof(Unk19), npc.Unk19);
            npc.Unk1B        = s.UInt16(nameof(Unk1B), npc.Unk1B);
            npc.Unk1D        = s.UInt16(nameof(Unk1D), npc.Unk1D);
            npc.Unk1F        = s.UInt8(nameof(Unk1F), npc.Unk1F);
            npc.Unk20        = s.UInt8(nameof(Unk20), npc.Unk20);
            npc.Unk21        = s.UInt16(nameof(Unk21), npc.Unk21);
            npc.Unk23        = s.UInt16(nameof(Unk23), npc.Unk23);
            npc.Unk25        = s.UInt16(nameof(Unk25), npc.Unk25);
            npc.Unk27        = s.UInt16(nameof(Unk27), npc.Unk27);
            npc.Unk29        = s.UInt8(nameof(Unk29), npc.Unk29);
            npc.X1           = s.UInt16(nameof(X1), npc.X1);
            npc.Y1           = s.UInt16(nameof(Y1), npc.Y1);
            npc.X2           = s.UInt16(nameof(X2), npc.X2);
            npc.Y2           = s.UInt16(nameof(Y2), npc.Y2);
            npc.Unk32        = s.UInt8(nameof(Unk32), npc.Unk32);
            npc.Unk33        = s.UInt8(nameof(Unk33), npc.Unk33);
            npc.Unk34        = s.UInt16(nameof(Unk34), npc.Unk34);
            npc.Unk36        = s.UInt16(nameof(Unk36), npc.Unk36);
            npc.Unk38        = s.UInt16(nameof(Unk38), npc.Unk38);
            npc.Unk3A        = s.UInt16(nameof(Unk3A), npc.Unk3A);
            npc.Unk3C        = s.UInt16(nameof(Unk3C), npc.Unk3C);
            npc.Unk3E        = s.UInt16(nameof(Unk3E), npc.Unk3E);
            npc.Unk40        = s.UInt16(nameof(Unk40), npc.Unk40);
            npc.Unk42        = s.UInt16(nameof(Unk42), npc.Unk42);
            npc.X3           = s.UInt16(nameof(X3), npc.X3);
            npc.Y3           = s.UInt16(nameof(Y3), npc.Y3);
            npc.X4           = s.UInt16(nameof(X4), npc.X4);
            npc.Y4           = s.UInt16(nameof(Y4), npc.Y4);
            npc.Unk4C        = s.UInt16(nameof(Unk4C), npc.Unk4C);
            npc.Unk4E        = s.UInt16(nameof(Unk4E), npc.Unk4E);
            npc.Unk50        = s.UInt8(nameof(Unk50), npc.Unk50);
            npc.Unk51        = s.UInt8(nameof(Unk51), npc.Unk51);
            npc.Unk52        = s.UInt8(nameof(Unk52), npc.Unk52);
            npc.Unk53        = s.UInt8(nameof(Unk53), npc.Unk53);
            npc.Unk54        = s.UInt16(nameof(Unk54), npc.Unk54);
            npc.Unk56        = s.UInt16(nameof(Unk56), npc.Unk56);
            npc.Unk58        = s.UInt16(nameof(Unk58), npc.Unk58);
            npc.Unk5A        = s.UInt16(nameof(Unk5A), npc.Unk5A);
            npc.Unk5C        = s.UInt16(nameof(Unk5C), npc.Unk5C);
            npc.Unk5E        = s.UInt16(nameof(Unk5E), npc.Unk5E);
            npc.Unk60        = s.UInt8(nameof(Unk60), npc.Unk60);
            npc.Unk61        = s.UInt8(nameof(Unk61), npc.Unk61);
            npc.Unk62        = s.UInt16(nameof(Unk62), npc.Unk62);
            npc.Unk64        = s.UInt8(nameof(Unk64), npc.Unk64);
            npc.Unk65        = s.UInt8(nameof(Unk65), npc.Unk65);
            npc.Unk66        = s.UInt16(nameof(Unk66), npc.Unk66);
            npc.Unk68        = s.UInt16(nameof(Unk68), npc.Unk68);
            npc.Unk6A        = s.UInt16(nameof(Unk6A), npc.Unk6A);
            npc.Unk6C        = s.UInt16(nameof(Unk6C), npc.Unk6C);
            npc.Unk6E        = s.UInt16(nameof(Unk6E), npc.Unk6E);
            npc.Unk70        = s.UInt16(nameof(Unk70), npc.Unk70);
            npc.Unk72        = s.UInt16(nameof(Unk72), npc.Unk72);
            npc.Unk74        = s.UInt16(nameof(Unk74), npc.Unk74);
            npc.Unk76        = s.UInt16(nameof(Unk76), npc.Unk76);
            npc.Unk78        = s.UInt16(nameof(Unk78), npc.Unk78);
            npc.Unk7A        = s.UInt16(nameof(Unk7A), npc.Unk7A);
            npc.Unk7C        = s.UInt16(nameof(Unk7C), npc.Unk7C);
            npc.Unk7E        = s.UInt16(nameof(Unk7E), npc.Unk7E);

            ApiUtil.Assert(s.Offset == startOffset + 0x80);
            s.End();
            return(npc);
        }
Example #2
0
 // Total size = 128 bytes
 public static NpcState Serdes(int i, NpcState npc, (MapType mapType, AssetMapping mapping) c, ISerializer s)