Beispiel #1
0
            byte[] padding; //2?

            public static CharaMakeTypeLooksStruct Read(byte[] buffer, ref int offset)
            {
                CharaMakeTypeLooksStruct cmtl = new CharaMakeTypeLooksStruct();

                cmtl.Menu = OrderedBitConverter.ToUInt32(buffer, offset, true);
                offset += 4;
                cmtl.SubMenuMask = OrderedBitConverter.ToUInt32(buffer, offset, true);
                offset += 4;
                cmtl.Customize = OrderedBitConverter.ToUInt32(buffer, offset, true);
                offset += 4;
                cmtl.SubMenuParam = new uint[100];

                for (int i = 0; i < 100; i++)
                {
                    cmtl.SubMenuParam[i] = OrderedBitConverter.ToUInt32(buffer, offset, true);
                    offset += 4;
                }

                cmtl.InitVal = buffer[offset];
                cmtl.SubMenuType = buffer[offset + 1];
                cmtl.SubMenuNum = buffer[offset + 2];
                cmtl.LookAt = buffer[offset + 3];
                offset += 4;

                cmtl.SubMenuGraphic = new byte[10];
                for (int i = 0; i < 10; i++)
                {
                    cmtl.SubMenuGraphic[i] = buffer[offset];
                    offset += 1;
                }

                offset += 2;
                
                return cmtl;
            }
Beispiel #2
0
            public static CharaMakeTypeStruct Read(byte[] buffer)
            {
                int offset = 0;

                CharaMakeTypeStruct cmt = new CharaMakeTypeStruct();

                cmt.Looks = new CharaMakeTypeLooksStruct[28];
                for (int i = 0; i < 28; i++)
                    cmt.Looks[i] = CharaMakeTypeLooksStruct.Read(buffer, ref offset);

                cmt.Voice = CharaMakeTypeVoiceStruct.Read(buffer, ref offset);

                cmt.FaceOption = new CharaMakeTypeFaceOptionStruct[8];
                for (int i = 0; i < 8; i++)
                    cmt.FaceOption[i] = CharaMakeTypeFaceOptionStruct.Read(buffer, ref offset);

                offset += 4;

                cmt.Equip = new CharaMakeTypeEquipStruct[3];
                for (int i = 0; i < 3; i++)
                    cmt.Equip[i] = CharaMakeTypeEquipStruct.Read(buffer, ref offset);

                cmt.Race = OrderedBitConverter.ToInt32(buffer, offset, true);
                offset += 4;
                cmt.Tribe = OrderedBitConverter.ToInt32(buffer, offset, true);
                offset += 4;
                cmt.Gender = (sbyte)buffer[offset];

                return cmt;
            }