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; }
byte[] SEPackId; //12 public static CharaMakeTypeVoiceStruct Read(byte[] buffer, ref int offset) { CharaMakeTypeVoiceStruct cmtv = new CharaMakeTypeVoiceStruct(); cmtv.SEPackId = new byte[12]; for (int i = 0; i < 12; i++) { cmtv.SEPackId[i] = buffer[offset]; offset += 1; } return cmtv; }