rename PenumbraModDirectory

This commit is contained in:
rootdarkarchon
2024-02-29 01:16:56 +01:00
committed by Loporrit
parent 037c22ecdb
commit bdd61aff99
5 changed files with 20 additions and 20 deletions

View File

@@ -33,7 +33,7 @@ public sealed class CacheMonitor : DisposableMediatorSubscriberBase
_fileCompactor = fileCompactor; _fileCompactor = fileCompactor;
Mediator.Subscribe<PenumbraInitializedMessage>(this, (_) => Mediator.Subscribe<PenumbraInitializedMessage>(this, (_) =>
{ {
StartPenumbraWatcher(_ipcManager.Penumbra.PenumbraModDirectory); StartPenumbraWatcher(_ipcManager.Penumbra.ModDirectory);
StartMareWatcher(configService.Current.CacheFolder); StartMareWatcher(configService.Current.CacheFolder);
InvokeScan(); InvokeScan();
}); });
@@ -42,7 +42,7 @@ public sealed class CacheMonitor : DisposableMediatorSubscriberBase
Mediator.Subscribe<DalamudLoginMessage>(this, (_) => Mediator.Subscribe<DalamudLoginMessage>(this, (_) =>
{ {
StartMareWatcher(configService.Current.CacheFolder); StartMareWatcher(configService.Current.CacheFolder);
StartPenumbraWatcher(_ipcManager.Penumbra.PenumbraModDirectory); StartPenumbraWatcher(_ipcManager.Penumbra.ModDirectory);
InvokeScan(); InvokeScan();
}); });
Mediator.Subscribe<PenumbraDirectoryChangedMessage>(this, (msg) => Mediator.Subscribe<PenumbraDirectoryChangedMessage>(this, (msg) =>
@@ -50,9 +50,9 @@ public sealed class CacheMonitor : DisposableMediatorSubscriberBase
StartPenumbraWatcher(msg.ModDirectory); StartPenumbraWatcher(msg.ModDirectory);
InvokeScan(); InvokeScan();
}); });
if (_ipcManager.Penumbra.APIAvailable && !string.IsNullOrEmpty(_ipcManager.Penumbra.PenumbraModDirectory)) if (_ipcManager.Penumbra.APIAvailable && !string.IsNullOrEmpty(_ipcManager.Penumbra.ModDirectory))
{ {
StartPenumbraWatcher(_ipcManager.Penumbra.PenumbraModDirectory); StartPenumbraWatcher(_ipcManager.Penumbra.ModDirectory);
} }
if (configService.Current.HasValidSetup()) if (configService.Current.HasValidSetup())
{ {
@@ -466,7 +466,7 @@ public sealed class CacheMonitor : DisposableMediatorSubscriberBase
private void FullFileScan(CancellationToken ct) private void FullFileScan(CancellationToken ct)
{ {
TotalFiles = 1; TotalFiles = 1;
var penumbraDir = _ipcManager.Penumbra.PenumbraModDirectory; var penumbraDir = _ipcManager.Penumbra.ModDirectory;
bool penDirExists = true; bool penDirExists = true;
bool cacheDirExists = true; bool cacheDirExists = true;
if (string.IsNullOrEmpty(penumbraDir) || !Directory.Exists(penumbraDir)) if (string.IsNullOrEmpty(penumbraDir) || !Directory.Exists(penumbraDir))

View File

@@ -53,8 +53,8 @@ public sealed class FileCacheManager : IHostedService
if (!fi.Exists) return null; if (!fi.Exists) return null;
_logger.LogTrace("Creating file entry for {path}", path); _logger.LogTrace("Creating file entry for {path}", path);
var fullName = fi.FullName.ToLowerInvariant(); var fullName = fi.FullName.ToLowerInvariant();
if (!fullName.Contains(_ipcManager.Penumbra.PenumbraModDirectory!.ToLowerInvariant(), StringComparison.Ordinal)) return null; if (!fullName.Contains(_ipcManager.Penumbra.ModDirectory!.ToLowerInvariant(), StringComparison.Ordinal)) return null;
string prefixedPath = fullName.Replace(_ipcManager.Penumbra.PenumbraModDirectory!.ToLowerInvariant(), PenumbraPrefix + "\\", StringComparison.Ordinal).Replace("\\\\", "\\", StringComparison.Ordinal); string prefixedPath = fullName.Replace(_ipcManager.Penumbra.ModDirectory!.ToLowerInvariant(), PenumbraPrefix + "\\", StringComparison.Ordinal).Replace("\\\\", "\\", StringComparison.Ordinal);
return CreateFileCacheEntity(fi, prefixedPath); return CreateFileCacheEntity(fi, prefixedPath);
} }
@@ -174,7 +174,7 @@ public sealed class FileCacheManager : IHostedService
private FileCacheEntity? GetFileCacheByPath(string path) private FileCacheEntity? GetFileCacheByPath(string path)
{ {
var cleanedPath = path.Replace("/", "\\", StringComparison.OrdinalIgnoreCase).ToLowerInvariant() var cleanedPath = path.Replace("/", "\\", StringComparison.OrdinalIgnoreCase).ToLowerInvariant()
.Replace(_ipcManager.Penumbra.PenumbraModDirectory!.ToLowerInvariant(), "", StringComparison.OrdinalIgnoreCase); .Replace(_ipcManager.Penumbra.ModDirectory!.ToLowerInvariant(), "", StringComparison.OrdinalIgnoreCase);
var entry = _fileCaches.SelectMany(v => v.Value).FirstOrDefault(f => f.ResolvedFilepath.EndsWith(cleanedPath, StringComparison.OrdinalIgnoreCase)); var entry = _fileCaches.SelectMany(v => v.Value).FirstOrDefault(f => f.ResolvedFilepath.EndsWith(cleanedPath, StringComparison.OrdinalIgnoreCase));
if (entry == null) if (entry == null)
@@ -196,7 +196,7 @@ public sealed class FileCacheManager : IHostedService
{ {
var cleanedPaths = paths.Distinct(StringComparer.OrdinalIgnoreCase).ToDictionary(p => p, var cleanedPaths = paths.Distinct(StringComparer.OrdinalIgnoreCase).ToDictionary(p => p,
p => p.Replace("/", "\\", StringComparison.OrdinalIgnoreCase) p => p.Replace("/", "\\", StringComparison.OrdinalIgnoreCase)
.Replace(_ipcManager.Penumbra.PenumbraModDirectory!, _ipcManager.Penumbra.PenumbraModDirectory!.EndsWith('\\') ? PenumbraPrefix + '\\' : PenumbraPrefix, StringComparison.OrdinalIgnoreCase) .Replace(_ipcManager.Penumbra.ModDirectory!, _ipcManager.Penumbra.ModDirectory!.EndsWith('\\') ? PenumbraPrefix + '\\' : PenumbraPrefix, StringComparison.OrdinalIgnoreCase)
.Replace(_configService.Current.CacheFolder, _configService.Current.CacheFolder.EndsWith('\\') ? CachePrefix + '\\' : CachePrefix, StringComparison.OrdinalIgnoreCase) .Replace(_configService.Current.CacheFolder, _configService.Current.CacheFolder.EndsWith('\\') ? CachePrefix + '\\' : CachePrefix, StringComparison.OrdinalIgnoreCase)
.Replace("\\\\", "\\", StringComparison.Ordinal), .Replace("\\\\", "\\", StringComparison.Ordinal),
StringComparer.OrdinalIgnoreCase); StringComparer.OrdinalIgnoreCase);
@@ -368,7 +368,7 @@ public sealed class FileCacheManager : IHostedService
{ {
if (fileCache.PrefixedFilePath.StartsWith(PenumbraPrefix, StringComparison.OrdinalIgnoreCase)) if (fileCache.PrefixedFilePath.StartsWith(PenumbraPrefix, StringComparison.OrdinalIgnoreCase))
{ {
fileCache.SetResolvedFilePath(fileCache.PrefixedFilePath.Replace(PenumbraPrefix, _ipcManager.Penumbra.PenumbraModDirectory, StringComparison.Ordinal)); fileCache.SetResolvedFilePath(fileCache.PrefixedFilePath.Replace(PenumbraPrefix, _ipcManager.Penumbra.ModDirectory, StringComparison.Ordinal));
} }
else if (fileCache.PrefixedFilePath.StartsWith(CachePrefix, StringComparison.OrdinalIgnoreCase)) else if (fileCache.PrefixedFilePath.StartsWith(CachePrefix, StringComparison.OrdinalIgnoreCase))
{ {

View File

@@ -1,4 +1,4 @@
using Dalamud.Interface.ImGuiNotification; using Dalamud.Interface.ImGuiNotification;
using Dalamud.Plugin; using Dalamud.Plugin;
using MareSynchronos.MareConfiguration.Models; using MareSynchronos.MareConfiguration.Models;
using MareSynchronos.PlayerData.Handlers; using MareSynchronos.PlayerData.Handlers;
@@ -20,7 +20,7 @@ public sealed class IpcCallerPenumbra : DisposableMediatorSubscriberBase, IIpcCa
private readonly RedrawManager _redrawManager; private readonly RedrawManager _redrawManager;
private bool _shownPenumbraUnavailable = false; private bool _shownPenumbraUnavailable = false;
private string? _penumbraModDirectory; private string? _penumbraModDirectory;
public string? PenumbraModDirectory public string? ModDirectory
{ {
get => _penumbraModDirectory; get => _penumbraModDirectory;
private set private set
@@ -128,11 +128,11 @@ public sealed class IpcCallerPenumbra : DisposableMediatorSubscriberBase, IIpcCa
{ {
if (!APIAvailable) if (!APIAvailable)
{ {
PenumbraModDirectory = string.Empty; ModDirectory = string.Empty;
} }
else else
{ {
PenumbraModDirectory = _penumbraResolveModDir!.Invoke().ToLowerInvariant(); ModDirectory = _penumbraResolveModDir!.Invoke().ToLowerInvariant();
} }
} }
@@ -327,8 +327,8 @@ public sealed class IpcCallerPenumbra : DisposableMediatorSubscriberBase, IIpcCa
private void PenumbraInit() private void PenumbraInit()
{ {
APIAvailable = true; APIAvailable = true;
PenumbraModDirectory = _penumbraResolveModDir.Invoke(); ModDirectory = _penumbraResolveModDir.Invoke();
_mareMediator.Publish(new PenumbraInitializedMessage()); _mareMediator.Publish(new PenumbraInitializedMessage());
_penumbraRedraw!.Invoke(0, setting: RedrawType.Redraw); _penumbraRedraw!.Invoke(0, setting: RedrawType.Redraw);
} }
} }

View File

@@ -750,7 +750,7 @@ public class SettingsUi : WindowMediatorSubscriberBase
using var id = ImRaii.PushId("penumbraMonitor"); using var id = ImRaii.PushId("penumbraMonitor");
if (UiSharedService.NormalizedIconTextButton(FontAwesomeIcon.ArrowsToCircle, "Try to reinitialize Monitor")) if (UiSharedService.NormalizedIconTextButton(FontAwesomeIcon.ArrowsToCircle, "Try to reinitialize Monitor"))
{ {
_cacheMonitor.StartPenumbraWatcher(_ipcManager.Penumbra.PenumbraModDirectory); _cacheMonitor.StartPenumbraWatcher(_ipcManager.Penumbra.ModDirectory);
} }
} }
@@ -770,7 +770,7 @@ public class SettingsUi : WindowMediatorSubscriberBase
if (UiSharedService.NormalizedIconTextButton(FontAwesomeIcon.Play, "Resume Monitoring")) if (UiSharedService.NormalizedIconTextButton(FontAwesomeIcon.Play, "Resume Monitoring"))
{ {
_cacheMonitor.StartMareWatcher(_configService.Current.CacheFolder); _cacheMonitor.StartMareWatcher(_configService.Current.CacheFolder);
_cacheMonitor.StartPenumbraWatcher(_ipcManager.Penumbra.PenumbraModDirectory); _cacheMonitor.StartPenumbraWatcher(_ipcManager.Penumbra.ModDirectory);
_cacheMonitor.InvokeScan(); _cacheMonitor.InvokeScan();
} }
UiSharedService.AttachToolTip("Attempts to resume monitoring for both Penumbra and Loporrit Storage. " UiSharedService.AttachToolTip("Attempts to resume monitoring for both Penumbra and Loporrit Storage. "

View File

@@ -123,7 +123,7 @@ public partial class UiSharedService : DisposableMediatorSubscriberBase
public bool EditTrackerPosition { get; set; } public bool EditTrackerPosition { get; set; }
public bool HasValidPenumbraModPath => !(_ipcManager.Penumbra.PenumbraModDirectory ?? string.Empty).IsNullOrEmpty() && Directory.Exists(_ipcManager.Penumbra.PenumbraModDirectory); public bool HasValidPenumbraModPath => !(_ipcManager.Penumbra.ModDirectory ?? string.Empty).IsNullOrEmpty() && Directory.Exists(_ipcManager.Penumbra.ModDirectory);
public bool IsInGpose => _dalamudUtil.IsInCutscene; public bool IsInGpose => _dalamudUtil.IsInCutscene;
@@ -601,7 +601,7 @@ public partial class UiSharedService : DisposableMediatorSubscriberBase
if (!success) return; if (!success) return;
_isOneDrive = path.Contains("onedrive", StringComparison.OrdinalIgnoreCase); _isOneDrive = path.Contains("onedrive", StringComparison.OrdinalIgnoreCase);
_isPenumbraDirectory = string.Equals(path.ToLowerInvariant(), _ipcManager.Penumbra.PenumbraModDirectory?.ToLowerInvariant(), StringComparison.Ordinal); _isPenumbraDirectory = string.Equals(path.ToLowerInvariant(), _ipcManager.Penumbra.ModDirectory?.ToLowerInvariant(), StringComparison.Ordinal);
_isDirectoryWritable = IsDirectoryWritable(path); _isDirectoryWritable = IsDirectoryWritable(path);
_cacheDirectoryHasOtherFilesThanCache = Directory.GetFiles(path, "*", SearchOption.AllDirectories).Any(f => Path.GetFileNameWithoutExtension(f).Length != 40) _cacheDirectoryHasOtherFilesThanCache = Directory.GetFiles(path, "*", SearchOption.AllDirectories).Any(f => Path.GetFileNameWithoutExtension(f).Length != 40)
|| Directory.GetDirectories(path).Any(); || Directory.GetDirectories(path).Any();