public static DebugNativeEntry[] From(BinaryReader rd, SmxNameTable names) { var header = new DebugNativesHeader(); header.num_entries = rd.ReadUInt32(); return(DebugNativeEntry.From(rd, header, names)); }
public static DebugNativeEntry[] From(BinaryReader rd, DebugNativesHeader header, SmxNameTable names) { var entries = new DebugNativeEntry[header.num_entries]; for (var i = 0; i < header.num_entries; i++) { var entry = new DebugNativeEntry(); entry.Index = rd.ReadInt32(); entry.nameoffs = rd.ReadInt32(); entry.tagid = rd.ReadUInt16(); entry.nargs = rd.ReadUInt16(); entry.Name = names.StringAt(entry.nameoffs); if (entry.nargs > 0) { entry.Args = DebugNativeArgEntry.From(rd, names, entry.nargs); } else { entry.Args = new DebugNativeArgEntry[0]; } entries[i] = entry; } return(entries); }
public static DebugNativeEntry[] From(BinaryReader rd, DebugNativesHeader header, SmxNameTable names) { var entries = new DebugNativeEntry[header.num_entries]; for (var i = 0; i < header.num_entries; i++) { var entry = new DebugNativeEntry(); entry.Index = rd.ReadInt32(); entry.nameoffs = rd.ReadInt32(); entry.tagid = rd.ReadUInt16(); entry.nargs = rd.ReadUInt16(); entry.Name = names.StringAt(entry.nameoffs); if (entry.nargs > 0) entry.Args = DebugNativeArgEntry.From(rd, names, entry.nargs); else entry.Args = new DebugNativeArgEntry[0]; entries[i] = entry; } return entries; }
public static DebugNativeEntry[] From(BinaryReader rd, SmxNameTable names) { var header = new DebugNativesHeader(); header.num_entries = rd.ReadUInt32(); return DebugNativeEntry.From(rd, header, names); }
public SmxDebugNativesTable(FileHeader file, SectionEntry header, SmxNameTable names) : base(file, header) { entries_ = DebugNativesHeader.From(file.SectionReader(header), names); }