public void RefreshChunks() { var bankChunk = PluginInstance.GetChunk(false); if (!(bankChunk is null)) { ChunkBankMemoryStream.SetLength(0); ChunkBankMemoryStream.Write(bankChunk, 0, bankChunk.Length); ChunkBankHash = HashUtils.getIxxHash(bankChunk); BankChunkChanged?.Invoke(this, EventArgs.Empty); } var presetChunk = PluginInstance.GetChunk(true); if (!(presetChunk is null)) { ChunkPresetMemoryStream.SetLength(0); ChunkPresetMemoryStream.Write(presetChunk, 0, presetChunk.Length); ChunkPresetHash = HashUtils.getIxxHash(presetChunk); PresetChunkChanged?.Invoke(this, EventArgs.Empty); } }
private async Task OnOpenBankWithHexEditorExecute() { var tempFile = Path.GetTempFileName(); File.WriteAllBytes(tempFile, ChunkBankMemoryStream.ToArray()); _developerService.StartHexEditor(tempFile); }
private async Task OnSaveBankChunkExecute() { try { _saveFileService.Filter = "Binary Files (*.*)|*.*"; if (await _saveFileService.DetermineFileAsync()) { File.WriteAllBytes(_saveFileService.FileName, ChunkBankMemoryStream.ToArray()); } } catch (Exception ex) { Log.Error(ex, "Failed to open file"); } }