rename PenumbraModDirectory
This commit is contained in:
@@ -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))
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -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. "
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user