コード例 #1
0
        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));
        }
コード例 #2
0
        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);
        }