public Report DebugTag(TagIndex tagindex, Map map)
 {
     Block b = Blocks.Types[map.Index.TagEntries[tagindex.Index].Type.ToString()];
     int magic;
     if (map.Index.TagEntries[tagindex.Index].Type == "sbsp" || map.Index.TagEntries[tagindex.Index].Type == "sbsp")
         magic = map.PrimaryMagic;
     else
         magic = map.SecondaryMagic;
     startAddress = map.Index.TagEntries[tagindex.Index].VirtualAddress - magic;
     length = map.Index.TagEntries[tagindex.Index].Length;
     Report report = ProcessBlock(b, map, map.Index.TagEntries[tagindex.Index].VirtualAddress, magic);
     report.Tagname = map.Tagnames[tagindex.Index];
     report.Type = map.Index.TagEntries[tagindex.Index].Type;
     return report;
 }
 public static void Write(this BinaryWriter bw, TagIndex tagindex)
 {
     bw.Write(tagindex);
 }