Example #1
0
        private async Task _InstallAsync(PluginInfo pluginInfo, CancellationToken ct = default)
        {
            App.Logger.Info(nameof(PSO2hPhase), "Validating plugin loader");

            await pluginInfo.PluginLoader.ValidateAsync(_InstallConfiguration, ct);

            App.Logger.Info(nameof(PSO2hPhase), "Writing tweaker.bin");
            var magic = await Task.Run(() => TweakerBin.GenerateFileContents(_InstallConfiguration.PSO2BinDirectory));

            using (var fs = File.Create(_InstallConfiguration.ArksLayer.TweakerBin, 4096, FileOptions.Asynchronous))
                using (var writer = new StreamWriter(fs))
                    await writer.WriteLineAsync(magic);

            App.Logger.Info(nameof(PSO2hPhase), "Getting version.ver contents");
            using (var client = new ArksLayerHttpClient())
                using (var response = await client.GetAsync(DownloadConfiguration.VersionFile, ct))
                {
                    response.EnsureSuccessStatusCode();
                    var content = await response.Content.ReadAsStringAsync();

                    App.Logger.Info(nameof(PSO2hPhase), "Writing version.ver");
                    using (var fs = File.Create(_InstallConfiguration.ArksLayer.VersionFile, 4096, FileOptions.Asynchronous))
                        using (var writer = new StreamWriter(fs))
                            await writer.WriteAsync(content);
                }
        }
Example #2
0
        private async Task _InstallAsync(PluginInfo pluginInfo, CancellationToken ct = default)
        {
            App.Current.Logger.Info(nameof(PSO2hPhase), "Validating pso2h dlls");

            await pluginInfo.DDrawDll.ValidateFileAsync(_InstallConfiguration.ArksLayer.DDrawDll, ct);

            await pluginInfo.PSO2hDll.ValidateFileAsync(_InstallConfiguration.ArksLayer.PSO2hDll, ct);

            App.Current.Logger.Info(nameof(PSO2hPhase), "Writing tweaker.bin");
            var magic = await Task.Run(() => TweakerBin.GenerateFileContents(_InstallConfiguration.PSO2BinDirectory));

            using (var fs = File.Create(_InstallConfiguration.ArksLayer.TweakerBin, 4096, FileOptions.Asynchronous))
                using (var writer = new StreamWriter(fs))
                    await writer.WriteLineAsync(magic);
        }