From d4c237292dfd4ba1f5dc8635b5939b92114793fa Mon Sep 17 00:00:00 2001 From: Anna Date: Wed, 19 Jun 2024 10:45:41 -0400 Subject: [PATCH] fix: use local replacements as fallback --- Plugin.cs | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/Plugin.cs b/Plugin.cs index d47540b..87faf29 100644 --- a/Plugin.cs +++ b/Plugin.cs @@ -51,13 +51,17 @@ public sealed class Plugin : IDalamudPlugin { this.GetBalloonRowHook?.Enable(); Task.Run(async () => { + string yaml; #if DEBUG - var stream = typeof(Plugin).Assembly.GetManifestResourceStream("TimePasses.replacements.yaml"); - using var reader = new StreamReader(stream!); - var yaml = await reader.ReadToEndAsync(); + yaml = await Plugin.LoadEmbeddedReplacements(); #else - using var resp = await this.Client.GetAsync("https://git.anna.lgbt/anna/TimePasses/raw/branch/main/replacements.yaml"); - var yaml = await resp.Content.ReadAsStringAsync(); + try { + using var resp = await this.Client.GetAsync("https://git.anna.lgbt/anna/TimePasses/raw/branch/main/replacements.yaml"); + yaml = await resp.Content.ReadAsStringAsync(); + } catch (Exception ex) { + Plugin.Log.Warning(ex, "could not download replacements"); + yaml = await Plugin.LoadEmbeddedReplacements(); + } #endif await this.Mutex.WaitAsync(); @@ -77,6 +81,12 @@ public sealed class Plugin : IDalamudPlugin { this.ResetReplacementPointers(); } + private static async Task LoadEmbeddedReplacements() { + using var stream = typeof(Plugin).Assembly.GetManifestResourceStream("TimePasses.replacements.yaml"); + using var reader = new StreamReader(stream!); + return await reader.ReadToEndAsync(); + } + private nint GetBalloonRowDetour(uint rowId) { try { var ptr = this.GetBalloonRowDetourInner(rowId);