public static CXIPlaingRegion getPlainRegionStringsFrom(byte[] buffer) { CXIPlaingRegion temp = new CXIPlaingRegion(); string bigstring = System.Text.ASCIIEncoding.ASCII.GetString(buffer); string[] splited = bigstring.Split(new char[] { '\0' }, StringSplitOptions.RemoveEmptyEntries); temp.PlainRegionStrings = splited; return temp; }
public static CXIPlaingRegion getPlainRegionStringsFrom(byte[] buffer) { CXIPlaingRegion temp = new CXIPlaingRegion(); string bigstring = System.Text.ASCIIEncoding.ASCII.GetString(buffer); string[] splited = bigstring.Split(new char[] { '\0' }, StringSplitOptions.RemoveEmptyEntries); temp.PlainRegionStrings = splited; return(temp); }
public bool Open(Stream fs) { PlainRegion = new CXIPlaingRegion(); byte[] plainRegionBuffer; OffsetInNCSD = fs.Position; Header = MarshalUtil.ReadStruct <CXIHeader>(fs); // get Plaing Region fs.Seek(OffsetInNCSD + Header.PlainRegionOffset * 0x200, SeekOrigin.Begin); plainRegionBuffer = new byte[Header.PlainRegionSize * 0x200]; fs.Read(plainRegionBuffer, 0, plainRegionBuffer.Length); PlainRegion = CXIHeader.getPlainRegionStringsFrom(plainRegionBuffer); // byte[] exhBytes = new byte[2048]; // fs.Read(exhBytes, 0, exhBytes.Length); //TODO: read extended header // Array.Reverse(exh); TitleInfo = TitleInfo.Resolve(Header.ProductCode, Header.MakerCode); return(true); }
public bool Open(Stream fs) { PlainRegion = new CXIPlaingRegion(); byte[] plainRegionBuffer; OffsetInNCSD = fs.Position; Header = MarshalUtil.ReadStruct<CXIHeader>(fs); // get Plaing Region fs.Seek(OffsetInNCSD + Header.PlainRegionOffset * 0x200, SeekOrigin.Begin); plainRegionBuffer = new byte[Header.PlainRegionSize * 0x200]; fs.Read(plainRegionBuffer, 0, plainRegionBuffer.Length); PlainRegion = CXIHeader.getPlainRegionStringsFrom(plainRegionBuffer); GetNCCHDetails(); // byte[] exhBytes = new byte[2048]; // fs.Read(exhBytes, 0, exhBytes.Length); //TODO: read extended header // Array.Reverse(exh); TitleInfo = TitleInfo.Resolve(Header.ProductCode, Header.MakerCode); return true; }