protected override Int16 readTableRowCount(EndianBinaryReader stream, AddressMapper addressMapper, bool isVanilla) { stream.Seek(addressMapper.toFileAddress((BSVAddr)0x8007e104), SeekOrigin.Begin); var opcode = stream.ReadUInt32(); return((Int16)(PowerPcAsm.getOpcodeParameter(opcode) + 1)); }
public List <MapDescriptor> readMainDol(EndianBinaryReader stream, IProgress <ProgressInfo> progress) { // GetMapCount stream.Seek(addressMapper.toFileAddress((BSVAddr)0x801cca30), SeekOrigin.Begin); UInt32 opcode = stream.ReadUInt32(); var count = (Int16)(PowerPcAsm.getOpcodeParameter(opcode)); List <MapDescriptor> mapDescriptors = new List <MapDescriptor>(); for (int i = 0; i < count; i++) { MapDescriptor mapDescriptor = new MapDescriptor(); mapDescriptors.Add(mapDescriptor); } foreach (var patch in patches) { patch.read(stream, addressMapper, mapDescriptors, progress); } return(mapDescriptors); }