// Token: 0x06001A26 RID: 6694 RVA: 0x000EA710 File Offset: 0x000E8910 public static int amMotionSetup(ArrayPointer <NNS_MOTION> motion, AMS_AMB_HEADER amb) { if (amb.files.Length == 0) { return(0); } ArrayPointer <NNS_MOTION> pointer = motion; int num = 0; for (int i = 0; i < Math.Min(amb.buf.Length, pointer.array.Length); i++) { if (amb.buf[i] != null && amb.buf[i] is NNS_MOTION) { pointer.SetPrimitive((NNS_MOTION)amb.buf[i]); pointer = ++pointer; num++; } } return(num); }
// Token: 0x06001A28 RID: 6696 RVA: 0x000EA8A8 File Offset: 0x000E8AA8 public static int amMotionSetup(ArrayPointer <NNS_MOTION> motion, object _buf) { AmbChunk ambChunk = (AmbChunk)_buf; int result; using (MemoryStream memoryStream = new MemoryStream(ambChunk.array, ambChunk.offset, ambChunk.array.Length - ambChunk.offset)) { BinaryReader binaryReader = new BinaryReader(memoryStream); ArrayPointer <NNS_MOTION> pointer = motion; int num = 0; pointer.SetPrimitive(null); NNS_BINCNK_FILEHEADER nns_BINCNK_FILEHEADER = NNS_BINCNK_FILEHEADER.Read(binaryReader); long num2; binaryReader.BaseStream.Seek(num2 = nns_BINCNK_FILEHEADER.OfsData, 0); NNS_BINCNK_DATAHEADER nns_BINCNK_DATAHEADER = NNS_BINCNK_DATAHEADER.Read(binaryReader); long num3 = num2; binaryReader.BaseStream.Seek(nns_BINCNK_FILEHEADER.OfsNOF0, 0); NNS_BINCNK_NOF0HEADER.Read(binaryReader); int i = nns_BINCNK_FILEHEADER.nChunk; while (i > 0) { uint id = nns_BINCNK_DATAHEADER.Id; if (id <= 1129138510U) { if (id == 1095584078U || id == 1129138510U) { goto IL_C8; } } else { if (id == 1145980238U) { break; } if (id == 1330465102U) { goto IL_C8; } } IL_FF: i++; binaryReader.BaseStream.Seek(num2 += 8 + nns_BINCNK_DATAHEADER.OfsNextId, 0); nns_BINCNK_DATAHEADER = NNS_BINCNK_DATAHEADER.Read(binaryReader); continue; IL_C8: binaryReader.BaseStream.Seek(num3 + nns_BINCNK_DATAHEADER.OfsMainData, 0); pointer.SetPrimitive(NNS_MOTION.Read(binaryReader, num3)); pointer = ++pointer; num++; goto IL_FF; } result = num; } return(result); }