public Track(byte[] Filedata)
{
BinaryReader Reader = new BinaryReader(new MemoryStream(Filedata));
MagicNumber = new string(Reader.ReadChars(4));
if(MagicNumber == "2DKT")
TWODKT = true;
int CurrentVal = 8;
string data;
if(!TWODKT)
data = new string(Reader.ReadChars(Filedata.Length));
else
data = new string(Reader.ReadChars(Reader.ReadInt32()));
string[] Values = data.Split(',');
//MagicNumber = Values[0];
Version = ParseHexString(Values[1]);
TrackName = Values[2];
SoundID = ParseHexString(Values[3]);
TrackID = ParseHexString(Values[4]);
if (Values[5] != "\r\n" && Values[5] != "ETKD" && Values[5] != "") //some tracks terminate here...
{
ArgType = (HITArgs)ParseHexString(Values[5]);
ControlGroup = (HITControlGroups)ParseHexString(Values[7]);
if (Version == 2)
CurrentVal++;
CurrentVal += 2;
DuckingPriority = (HITDuckingPriorities)ParseHexString(Values[CurrentVal]);
CurrentVal++;
Looped = ParseHexString(Values[CurrentVal]);
CurrentVal++;
Volume = ParseHexString(Values[CurrentVal]);
}
Reader.Close();
}