示例#1
0
 public NonBattleCommand(T internalCommand,
                         ITwitchClient twitchClient, IMemoryAccessor memoryAccessor)
 {
     _internalCommand = internalCommand;
     _twitchClient    = twitchClient;
     _memoryAccessor  = memoryAccessor;
 }
示例#2
0
 public MenuColorAccessor(IMemoryAccessor memoryAccessor,
                          IStatusHubEmitter statusHubEmitter, ILogger <MenuColorAccessor> logger)
 {
     _memoryAccessor   = memoryAccessor;
     _statusHubEmitter = statusHubEmitter;
     _logger           = logger;
 }
示例#3
0
 void ClosePfs()
 {
     accessor?.Dispose();
     pfs?.Dispose();
     pfs      = null;
     accessor = null;
 }
示例#4
0
        /// <summary>
        /// Creates a PFSCReader
        /// </summary>
        /// <param name="va">An IMemoryAccessor containing the PFSC file</param>
        /// <exception cref="ArgumentException">Thrown when the accessor is not a view of a PFSC file.</exception>
        public PFSCReader(IMemoryAccessor va)
        {
            _accessor = va;
            _accessor.Read(0, out hdr);
            if (hdr.Magic != 0x43534650)
            {
                throw new ArgumentException("Not a PFSC file: missing PFSC magic");
            }
            if (hdr.Unk4 != 0)
            {
                throw new ArgumentException($"Not a PFSC file: unknown data at 0x4 (expected 0, got {hdr.Unk4})");
            }
            //if (hdr.Unk8 != 6)
            //  throw new ArgumentException($"Not a PFSC file: unknown data at 0x8 (expected 6, got {hdr.Unk8})");
            if (hdr.BlockSz != (int)hdr.BlockSz2)
            {
                throw new ArgumentException("Not a PFSC file: block size mismatch");
            }

            var num_blocks = (int)(hdr.DataLength / hdr.BlockSz2);

            sectorMap = new long[num_blocks + 1];
            _accessor.ReadArray(hdr.BlockOffsets, sectorMap, 0, num_blocks + 1);
            for (int i = 0; i < num_blocks; i++)
            {
                var sectorSz = sectorMap[i + 1] - sectorMap[i];
                if (sectorSz > hdr.BlockSz2)
                {
                    throw new ArgumentException($"Not a PFSC file: block {i} too big");
                }
            }
        }
示例#5
0
 void LoadPfs(string filename)
 {
     pfs      = MemoryMappedFile.CreateFromFile(filename, System.IO.FileMode.Open, mapName: null, 0, MemoryMappedFileAccess.Read);
     accessor = new MemoryMappedViewAccessor_(pfs.CreateViewAccessor(0, 0, MemoryMappedFileAccess.Read), true);
     using (var s = pfs.CreateViewStream(0, 0x5A0, MemoryMappedFileAccess.Read))
     {
         header = PfsHeader.ReadFromStream(s);
         objectView1.ObjectPreview(header);
         pfsSeed.Text = header.Seed.ToHexCompact();
     }
     xtsReader = accessor;
     UpdateHexView();
 }
示例#6
0
 public MateriaAccessor(IMemoryAccessor memory)
 {
     _memory = memory;
 }
示例#7
0
 public GpAccessor(IMemoryAccessor memoryAccessor, ILogger <GpAccessor> logger)
 {
     _memoryAccessor = memoryAccessor;
     _logger         = logger;
 }
 public StatusAccessor(IMemoryAccessor memoryAccessor)
 {
     _memoryAccessor = memoryAccessor;
 }
示例#9
0
 public NameAccessor(IMemoryAccessor memoryAccessor, IGameMomentAccessor momentAccessor)
 {
     _memoryAccessor = memoryAccessor;
     _momentAccessor = momentAccessor;
 }
示例#10
0
 public BattleInfoAccessor(IMemoryAccessor memory)
 {
     _memory = memory;
 }
 public InventoryAccessor(IMemoryAccessor memory)
 {
     _memory = memory;
 }
示例#12
0
 public SceneAccessor(IMemoryAccessor memoryAccessor)
 {
     _memoryAccessor = memoryAccessor;
 }
 public EquipmentAccessor(IMemoryAccessor memoryAccessor)
 {
     _memoryAccessor = memoryAccessor;
 }
示例#14
0
 public GilAccessor(IMemoryAccessor memoryAccessor)
 {
     _memoryAccessor = memoryAccessor;
 }
示例#15
0
 public FileHandler(FileIO fileReader, IMemoryAccessor memory, VideoMemory videoMemory)
 {
     this.reader      = fileReader;
     this.memory      = memory;
     this.videoMemory = videoMemory;
 }
示例#16
0
 public GilAccessor(IMemoryAccessor memoryAccessor, ILogger <GameMomentAccessor> logger)
 {
     _memoryAccessor = memoryAccessor;
     _logger         = logger;
 }