diff --git a/Dalamud/Dalamud.cs b/Dalamud/Dalamud.cs index d70164380..20746fd30 100644 --- a/Dalamud/Dalamud.cs +++ b/Dalamud/Dalamud.cs @@ -91,9 +91,15 @@ namespace Dalamud { Task.Run(async () => { try { - await AssetManager.EnsureAssets(this.baseDirectory); + var res = await AssetManager.EnsureAssets(this.baseDirectory); + + if (!res) { + Log.Error("One or more assets failed to download."); + Unload(); + return; + } } catch (Exception e) { - Log.Error(e, "Could not ensure assets."); + Log.Error(e, "Error in asset task."); Unload(); return; } diff --git a/Dalamud/Interface/AssetManager.cs b/Dalamud/Interface/AssetManager.cs index 108d3ab16..e45ad1015 100644 --- a/Dalamud/Interface/AssetManager.cs +++ b/Dalamud/Interface/AssetManager.cs @@ -27,7 +27,7 @@ namespace Dalamud.Interface {"https://img.finalfantasyxiv.com/lds/pc/global/fonts/FFXIV_Lodestone_SSF.ttf", "UIRes/gamesym.ttf" } }; - public static async Task EnsureAssets(string baseDir) { + public static async Task EnsureAssets(string baseDir) { using var client = new WebClient(); Log.Verbose("Starting asset download"); @@ -42,11 +42,13 @@ namespace Dalamud.Interface try { File.WriteAllBytes(filePath, client.DownloadData(entry.Key)); } catch (Exception ex) { - // If another game is running, we don't want to just fail in here Log.Error(ex, "Could not download asset."); + return false; } } } + + return true; } } }