public override int Read() { var int32_1 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; ColoredConsole.WriteLine("{0:x8} Name: {1}", (object)iPos, (object)readString(int32_1)); var int32_2 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; var intList = new List <int>(); for (var index = 0; index < int32_2; ++index) { BigEndianBitConverter.ToInt16(fileData, iPos); iPos += 2; var int32_3 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; intList.Add(int32_3); } var int32_4 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; for (var index1 = 0; index1 < int32_4; ++index1) { var group = new Group(); BigEndianBitConverter.ToInt16(fileData, iPos); iPos += 2; var int32_3 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; for (var index2 = 0; index2 < int32_3; ++index2) { var int32_5 = BigEndianBitConverter.ToInt32(fileData, iPos); ColoredConsole.WriteWarn("{0}; ", (object)int32_5); iPos += 4; group.Material.Add(int32_5); } ColoredConsole.WriteLine(); var int32_6 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; for (var index2 = 0; index2 < int32_6; ++index2) { var int32_5 = BigEndianBitConverter.ToInt32(fileData, iPos); ColoredConsole.WriteDebug("{0} --> {1}; ", (object)int32_5, (object)intList[int32_5]); iPos += 4; group.Parts.Add(intList[int32_5]); } ColoredConsole.WriteLine(); Groups.Add(group); } ColoredConsole.WriteLineError("{0:x8}", (object)iPos); return(iPos); }
public override int Read() { var int32_1 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; readString(int32_1); iPos += 4; var int32_2 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; var intList1 = new List <int>(); for (var index = 0; index < int32_2; ++index) { var int16 = BigEndianBitConverter.ToInt16(fileData, iPos); iPos += 2; var int32_3 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; intList1.Add(int32_3); if (int16 == (short)-19712) { ColoredConsole.WriteLineDebug("{0} --> {1}", (object)index, (object)int32_3); } } iPos += 4; var int32_4 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; var intListList = new List <List <int> >(); for (var index1 = 0; index1 < int32_4; ++index1) { var intList2 = new List <int>(); BigEndianBitConverter.ToInt16(fileData, iPos); iPos += 2; var int32_3 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; for (var index2 = 0; index2 < int32_3; ++index2) { BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; } var int32_5 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; for (var index2 = 0; index2 < int32_5; ++index2) { var int32_6 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; intList2.Add(intList1[int32_6]); } intListList.Add(intList2); } iPos += 4; var int32_7 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; iPos += 2 * int32_7; iPos += 4; var int32_8 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; iPos += 4 * int32_8; iPos += 4; var int32_9 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; for (var index = 0; index < int32_9; ++index) { var int32_3 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; readStringAt(int32_3 + 1443); Math.Round((double)BigEndianBitConverter.ToSingle(fileData, iPos), 4); Math.Round((double)BigEndianBitConverter.ToSingle(fileData, iPos + 4), 4); Math.Round((double)BigEndianBitConverter.ToSingle(fileData, iPos + 8), 4); Math.Round((double)BigEndianBitConverter.ToSingle(fileData, iPos + 16), 4); Math.Round((double)BigEndianBitConverter.ToSingle(fileData, iPos + 20), 4); Math.Round((double)BigEndianBitConverter.ToSingle(fileData, iPos + 24), 4); Math.Round((double)BigEndianBitConverter.ToSingle(fileData, iPos + 32), 4); Math.Round((double)BigEndianBitConverter.ToSingle(fileData, iPos + 36), 4); Math.Round((double)BigEndianBitConverter.ToSingle(fileData, iPos + 40), 4); Math.Round((double)BigEndianBitConverter.ToSingle(fileData, iPos + 48) * 262.0, 4); Math.Round((double)BigEndianBitConverter.ToSingle(fileData, iPos + 52) * 262.0, 4); Math.Round((double)BigEndianBitConverter.ToSingle(fileData, iPos + 56) * 262.0, 4); iPos += 64; iPos += 16; iPos += 4; iPos += 16; iPos += 4; iPos += 80; var int32_5 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; iPos += 4 * int32_5; BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; iPos += 4; iPos += 4; } iPos += 4; iPos += 5; iPos += 4; var int32_10 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; for (var index = 0; index < int32_10; ++index) { iPos += 16; } iPos += 4; var int32_11 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; for (var index = 0; index < int32_11; ++index) { iPos += 16; } iPos += 4; var int32_12 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; for (var index = 0; index < int32_12; ++index) { iPos += 44; } iPos += 4; ColoredConsole.WriteLineError("{0:x8}", (object)iPos); return(iPos); }
public override int Read() { iPos += 4; var int32_1 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; var intList = new List <int>(); for (var index = 0; index < int32_1; ++index) { var int16 = BigEndianBitConverter.ToInt16(fileData, iPos); iPos += 2; var int32_2 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; if (int16 == (short)-19712) { intList.Add(int32_2); } } iPos += 4; var int32_3 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; for (var index = 0; index < int32_3; ++index) { var int16 = BigEndianBitConverter.ToInt16(fileData, iPos); iPos += 2; iPos += 8 * (int)int16; } iPos += 4; var int32_4 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; for (var index = 0; index < int32_4; ++index) { var int16 = BigEndianBitConverter.ToInt16(fileData, iPos); iPos += 2; iPos += (int)int16; iPos += 64; iPos += 56; iPos += 20; } iPos += 4; iPos += 4; iPos += 4; var int32_5 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; for (var index = 0; index < int32_5; ++index) { iPos += 16; } iPos += 4; var int32_6 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; for (var index = 0; index < int32_6; ++index) { iPos += 16; } iPos += 4; var int32_7 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; for (var index = 0; index < int32_7; ++index) { iPos += 64; } iPos += 4; iPos += 4; iPos += 4; var int32_8 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; for (var index = 0; index < int32_8; ++index) { iPos += 4; } iPos += 4; var int32_9 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; for (var index = 0; index < int32_9; ++index) { var num1 = Math.Round((double)BigEndianBitConverter.ToSingle(fileData, iPos), 4); Math.Round((double)BigEndianBitConverter.ToSingle(fileData, iPos + 4), 4); Math.Round((double)BigEndianBitConverter.ToSingle(fileData, iPos + 8), 4); var num2 = Math.Round((double)BigEndianBitConverter.ToSingle(fileData, iPos + 12), 4); Math.Round((double)BigEndianBitConverter.ToSingle(fileData, iPos + 16), 4); Math.Round((double)BigEndianBitConverter.ToSingle(fileData, iPos + 20), 4); var num3 = Math.Round((double)BigEndianBitConverter.ToSingle(fileData, iPos + 24), 4); Math.Round((double)BigEndianBitConverter.ToSingle(fileData, iPos + 28), 4); Math.Round((double)BigEndianBitConverter.ToSingle(fileData, iPos + 32), 4); Math.Round((double)BigEndianBitConverter.ToSingle(fileData, iPos + 36) * 262.0, 4); Math.Round((double)BigEndianBitConverter.ToSingle(fileData, iPos + 40) * 262.0, 4); Math.Round((double)BigEndianBitConverter.ToSingle(fileData, iPos + 44) * 262.0, 4); var num4 = 16; if (num1 == 1.0 && num2 == 0.0 && num3 == 0.0) { num4 = 1; } if (num1 == -1.0 && num2 == 0.0 && num3 == 0.0) { num4 = 2; } if (num1 == 0.0 && num2 == 0.0 && num3 == 1.0) { num4 = 3; } if (num1 == 0.0 && num2 == 0.0 && num3 == -1.0) { num4 = 5; } iPos += 48; } ColoredConsole.WriteLineError("{0:x8}", (object)iPos); return(iPos); }
public override int Read() { var int32_1 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; ColoredConsole.WriteLine("{0:x8} Name: {1}", (object)iPos, (object)readString(int32_1)); iPos += 4; var int32_2 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; var intList = new List <int>(); for (var index = 0; index < int32_2; ++index) { var int16 = BigEndianBitConverter.ToInt16(fileData, iPos); iPos += 2; var int32_3 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; if (int16 == (short)-19712) { intList.Add(int32_3); } } iPos += 4; var int32_4 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; for (var index = 0; index < int32_4; ++index) { BigEndianBitConverter.ToInt16(fileData, iPos); iPos += 2; var int32_3 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; iPos += 4 * int32_3; var int32_5 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; iPos += 4 * int32_5; } iPos += 4; var int32_6 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; iPos += 2 * int32_6; iPos += 4; var int32_7 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; iPos += 4 * int32_7; iPos += 4; var int32_8 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; for (var index = 0; index < int32_8; ++index) { iPos += 4; iPos += 64; iPos += 16; iPos += 4; iPos += 16; iPos += 4; iPos += 80; var int32_3 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; iPos += 4 * int32_3; iPos += 12; } iPos += 4; iPos += 5; iPos += 4; var int32_9 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; for (var index = 0; index < int32_9; ++index) { iPos += 16; } iPos += 4; var int32_10 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; for (var index = 0; index < int32_10; ++index) { iPos += 16; } iPos += 4; var int32_11 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; for (var index = 0; index < int32_11; ++index) { iPos += 44; } iPos += 4; ColoredConsole.WriteLineError("{0:x8}", (object)iPos); return(iPos); }
protected virtual int ReadRelativePositionList(byte lastByte) { var int32_1 = BigEndianBitConverter.ToInt32(fileData, iPos); if (int32_1 != 0) { ColoredConsole.WriteLineError("{0:x8} Relative Position Lists iUnk1 = {1:x8} (!= 0)", (object)iPos, (object)int32_1); } iPos += 4; var num1 = 1; var num2 = 0; while (BigEndianBitConverter.ToInt32(fileData, iPos) != 0) { ColoredConsole.WriteLine("{0:x8} Count 4 Number of Relative Position Lists: 0x{1:x8} 0x{2:x8}", (object)iPos, (object)BigEndianBitConverter.ToInt32(fileData, iPos), (object)BigEndianBitConverter.ToInt32(fileData, iPos + 4)); iPos += 8; ++num1; } ColoredConsole.WriteLine("{0:x8} Number of Relative Position Lists: 0x{1:x8}", (object)iPos, (object)num1); var int32_2 = BigEndianBitConverter.ToInt32(fileData, iPos); if (int32_2 != 0) { ColoredConsole.WriteLineError("{0:x8} Relative Position Lists iUnk2 = {1:x8} (!= 0)", (object)iPos, (object)int32_2); } iPos += 4; for (var index = 0; index < num1; ++index) { var int32_3 = BigEndianBitConverter.ToInt32(fileData, iPos); iPos += 4; if (int32_3 != 0) { ColoredConsole.WriteLine("{0:x8} Number of Relative Positions: 0x{1:x8}", (object)iPos, (object)int32_3); iPos += int32_3 * 12; } else { ColoredConsole.WriteLineError("{0:x8} Number of Relative Positions unknown: 0x{1:x8}", (object)iPos, (object)0); } int num3; if (lastByte == byte.MaxValue) { iPos += 5; num3 = num2 + 1; } else { var int16 = (int)BigEndianBitConverter.ToInt16(fileData, iPos); if (int16 != 0) { ColoredConsole.WriteLineError("{0:x8} Relative Position Lists iUnk3a = {1:x4} (!= 0)", (object)iPos, (object)int16); } iPos += 2; var int32_4 = BigEndianBitConverter.ToInt32(fileData, iPos); if (int32_4 != 1) { ColoredConsole.WriteLineError("{0:x8} Relative Position Lists iUnk3b = {1:x8} (!= 1)", (object)iPos, (object)int32_4); } else { ++num2; } iPos += 4; var int32_5 = BigEndianBitConverter.ToInt32(fileData, iPos); ColoredConsole.WriteLine("{0:x8} Number of Relative Position Tupels: 0x{1:x8}", (object)iPos, (object)int32_5); iPos += 4; iPos += 4 * int32_5; num3 = num2 + 1; } num2 = num3 + 1; } return(num2); }