fix: use local replacements as fallback

This commit is contained in:
Anna 2024-06-19 10:45:41 -04:00
parent ee9197f276
commit d4c237292d
Signed by: anna
GPG Key ID: D0943384CD9F87D1

View File

@ -51,13 +51,17 @@ public sealed class Plugin : IDalamudPlugin {
this.GetBalloonRowHook?.Enable(); this.GetBalloonRowHook?.Enable();
Task.Run(async () => { Task.Run(async () => {
string yaml;
#if DEBUG #if DEBUG
var stream = typeof(Plugin).Assembly.GetManifestResourceStream("TimePasses.replacements.yaml"); yaml = await Plugin.LoadEmbeddedReplacements();
using var reader = new StreamReader(stream!);
var yaml = await reader.ReadToEndAsync();
#else #else
using var resp = await this.Client.GetAsync("https://git.anna.lgbt/anna/TimePasses/raw/branch/main/replacements.yaml"); try {
var yaml = await resp.Content.ReadAsStringAsync(); 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 #endif
await this.Mutex.WaitAsync(); await this.Mutex.WaitAsync();
@ -77,6 +81,12 @@ public sealed class Plugin : IDalamudPlugin {
this.ResetReplacementPointers(); this.ResetReplacementPointers();
} }
private static async Task<String> 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) { private nint GetBalloonRowDetour(uint rowId) {
try { try {
var ptr = this.GetBalloonRowDetourInner(rowId); var ptr = this.GetBalloonRowDetourInner(rowId);