public BACAnimData animFromBytes(List <Byte> data) { BACAnimData a = new BACAnimData(); a.data = data; return(a); /*BACAnimData a = new BACAnimData(); * a.header = new List<byte>(); * for (int i = 0; i < 16; i++) * { * a.header.Add(data[i]); * } * * int size_chunk_list = AEDataTools.UInt16FromData(data, 18); * int ptr_chunk_list = (int)AEDataTools.UInt32FromData(data, 20); * a.chunks = new List<BACChunk>(size_chunk_list); * for (int i = 0; i < size_chunk_list; i++) * { * BACChunk c = new BACChunk(); * c.type = (BACChunkType)AEDataTools.UInt16FromData(data, ptr_chunk_list + (i * 12)); * int size_subchunk_list = (int)AEDataTools.UInt16FromData(data,ptr_chunk_list + (i * 12) + 2); * c.subchunks = new List<BACSubChunk>(size_subchunk_list); * int cur_chunk_start = (int)AEDataTools.UInt32FromData(data, ptr_chunk_list + (i * 12) + 4) + ptr_chunk_list + (i * 12); * int cur_chunk_end = (int)AEDataTools.UInt32FromData(data, ptr_chunk_list + (i * 12) + 8) + ptr_chunk_list + (i * 12); * int cur_chunk_data_end; * if (i < size_subchunk_list - 1) * { * cur_chunk_data_end = (int)AEDataTools.UInt32FromData(data, ptr_chunk_list + ((i + 1) * 12) + 4) + ptr_chunk_list + ((i + 1) * 12); * } * else * { * cur_chunk_data_end = data.Count; * } * for (int j = 0; j < size_subchunk_list; j++) * { * BACSubChunk s = new BACSubChunk(); * AELogger.Log(cur_chunk_start + " " + cur_chunk_end + c.type); * s.start = AEDataTools.UInt16FromData(data, cur_chunk_start + j * 4); * s.end = AEDataTools.UInt16FromData(data, cur_chunk_start + j * 4 + 2); * s.data = data.GetRange(cur_chunk_end, Math.Min(data.Count - cur_chunk_end, (cur_chunk_data_end - cur_chunk_end) / size_subchunk_list)); * c.subchunks.Add(s); * } * * a.chunks.Add(c); * } * return a;*/ }
public BACAnimData animFromBytes(List<Byte> data) { BACAnimData a = new BACAnimData(); a.data = data; return a; /*BACAnimData a = new BACAnimData(); a.header = new List<byte>(); for (int i = 0; i < 16; i++) { a.header.Add(data[i]); } int size_chunk_list = AEDataTools.UInt16FromData(data, 18); int ptr_chunk_list = (int)AEDataTools.UInt32FromData(data, 20); a.chunks = new List<BACChunk>(size_chunk_list); for (int i = 0; i < size_chunk_list; i++) { BACChunk c = new BACChunk(); c.type = (BACChunkType)AEDataTools.UInt16FromData(data, ptr_chunk_list + (i * 12)); int size_subchunk_list = (int)AEDataTools.UInt16FromData(data,ptr_chunk_list + (i * 12) + 2); c.subchunks = new List<BACSubChunk>(size_subchunk_list); int cur_chunk_start = (int)AEDataTools.UInt32FromData(data, ptr_chunk_list + (i * 12) + 4) + ptr_chunk_list + (i * 12); int cur_chunk_end = (int)AEDataTools.UInt32FromData(data, ptr_chunk_list + (i * 12) + 8) + ptr_chunk_list + (i * 12); int cur_chunk_data_end; if (i < size_subchunk_list - 1) { cur_chunk_data_end = (int)AEDataTools.UInt32FromData(data, ptr_chunk_list + ((i + 1) * 12) + 4) + ptr_chunk_list + ((i + 1) * 12); } else { cur_chunk_data_end = data.Count; } for (int j = 0; j < size_subchunk_list; j++) { BACSubChunk s = new BACSubChunk(); AELogger.Log(cur_chunk_start + " " + cur_chunk_end + c.type); s.start = AEDataTools.UInt16FromData(data, cur_chunk_start + j * 4); s.end = AEDataTools.UInt16FromData(data, cur_chunk_start + j * 4 + 2); s.data = data.GetRange(cur_chunk_end, Math.Min(data.Count - cur_chunk_end, (cur_chunk_data_end - cur_chunk_end) / size_subchunk_list)); c.subchunks.Add(s); } a.chunks.Add(c); } return a;*/ }